[Pandas] 2. DataFrame

DataFrame이란

  • 2차원 데이터
  • 하나 이상의 Series가 모여있는 데이터

DataFrame 생성

DataFrame 기본 구조

DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

다음과 같이 행과 열의 이름을 따로 지정할 수 있습니다.

data = DataFrame([[180, 80], [160, 60]], index = ["사람1", "사람2"], columns= ["키", "몸무게"])
print(data)

다음과 같이 DataFrame을 생성한 후에도 입력할 수 있습니다.

data.index = ["man1", "man2"]
data.columns = ["Height", "Weight"]
print(data)

Column 추가

data = DataFrame([[180, 80], [160, 60]], index = ["사람1", "사람2"], columns= ["키", "몸무게"])
data["나이"] = [20, 21] # 값으로 추가
data["BMI"] = 100 * data["키"] / data["몸무게"] # DataFrame으로 추가
print(data)

행 추가

append 함수 이용

# Series로 행 추가
data = data.append([Series([175, 85, 22], index=data.columns)])

# DataFrame으로 행 추가
data = data.append(
    DataFrame([[190, 100, 25], [150, 40, 18]], index=["사람5", "사람6"], columns=data.columns))

print(data)

Data 삭제

열 삭제

data = data.drop(["나이", "몸무게"], axis='columns') # axis = 1
print(data)

행 삭제

data = data.drop([0], axis='index') # axis = 0
print(data)

DataFrame 조회

Column 조회

# 한개의 Column 조회
data.키
data["키"]

# 두개 이상의 Columns 조회
data["키", "나이"]

Index 조회

DataFrame.loc["index 이름"]

data.loc["사람1"] # 단일 index
data.loc["사람1", "사람2"] # 2개 이상의 index

DataFrame.iloc[index]

data.iloc[0] # 단일 index
data.iloc[0:2] # 2개 이상의 index

조건 조회

print(data["키"]>=170)
print("*"*20)
print(data[data["키"] >= 170])

참고한 블로그

https://programmerpsy.tistory.com/12?category=881974

좋은 웹페이지 즐겨찾기