2차원 데이터 데이터프레임
데이터프레임 생성하기
import numpy as np
import pandas as pd
# 1차원 배열 -> Series
# 2차원 배열 -> DataFrame
# 2차원 배열 -> DataFrame
# value와 index(label), columns로 구성
# index는 숫자 또는 label 문자열로 구성
df = pd.DataFrame(values, index, columns)
# 생성하기 방법1 -> 딕셔너리를 이용하는 방법
a = {'이름' : ['이유리', '최민준', '김민지'],
'전공': ['경영학과', '컴퓨터공학과', '데이터과학'],
'성별': ['여', '남', '여']}
df = pd.DataFrame(a)
print(df)
생성하기 방법2 -> 2차원 리스트를 이용하는 방법
a = [ ['이유리', '경영학과', '여'],
['최민준', '컴퓨터공학과', '남'],
['김민지', '데이터과학', '남'] ]
df = pd.DataFrame(a)
print(df)
df.columns = ['이름', '전공', '성별']
print(df)
값 출력하기
a = {'이름' : ['이유리', '최민준', '김민지'],
'전공': ['경영학과', '컴퓨터공학과', '데이터과학'],
'성별': ['여', '남', '여']}
df = pd.DataFrame(a)
print(df.values)
print(df.index)
print(df.columns)
print(df.dtypes)
print(df.shape)
print(df.info())
# 일부만 출력하기
print(df.head()) #기본 5개
print(df.head(10))
print(df.tail()) #기본 5개
print(df.tail(10))
특정 열만 가져오기
a = {'이름' : ['이유리', '최민준', '김민지'],
'전공': ['경영학과', '컴퓨터공학과', '데이터과학'],
'성별': ['여', '남', '여']}
df = pd.DataFrame(a)
c1 = df['이름']
print(c1)
c1 = df.이름
print(c1)
# 여러 열을 추출하기
a = {'이름' : ['이유리', '최민준', '김민지'],
'전공': ['경영학과', '컴퓨터공학과', '데이터과학'],
'성별': ['여', '남', '여']}
df = pd.DataFrame(a)
c = ['이름', '전공']
c1 = df[c]
print(c1)
특정 인덱스 값 추출하기
a = {'이름' : ['이유리', '최민준', '김민지'],
'전공': ['경영학과', '컴퓨터공학과', '데이터과학'],
'성별': ['여', '남', '여']}
df = pd.DataFrame(a)
i1 = df.iloc[1]
print(i1)
i2 = df.iloc[0:2]
print(i2)
연속하지 않은 인덱스 값 추출하기
a = {'이름' : ['이유리', '최민준', '김민지'],
'전공': ['경영학과', '컴퓨터공학과', '데이터과학'],
'성별': ['여', '남', '여']}
df = pd.DataFrame(a)
idx = [0, 2]
i1 = df.iloc[idx]
print(i1)
특정 컬럼과 열 지정
a = {'이름' : ['이유리', '최민준', '김민지'],
'전공': ['경영학과', '컴퓨터공학과', '데이터과학'],
'성별': ['여', '남', '여']}
df = pd.DataFrame(a)
i1 = df['이름'][0]
print(i1)
# 특정 컬럼과 열을 동시에 지정하는 다른 방법
i2 = df.iloc[0:2, 1:]
print(i2)
# 특정 컬럼과 열을 동시에 지정하는 다른 방법
i2 = df.iloc[0:2, 0:1]
print(i2)
# 특정 컬럼과 열을 동시에 지정하는 다른 방법
i2 = df.loc[0:4, '이름':'전공']
print(i2)
조건 필터링하기
# 남학생만 추출하기
i2 = df.loc[d['성별'] == '남']
print(i2)
# 여학생만 추출하기
i2 = df.loc[d['성별'] == '여']
print(i2)
DataFrmae 함수
describe()
count()
mean()
var()
std()
min()
max()
median()
quantile()
행 추가하기
df.insert(3, '나이', 0, True)
s = pd.Series([11, 22, 33])
df = d.append(s, ignore_index=True)
시리즈로 부터 생성하기
s = pd.Series([11, 22, 33])
df = pd.DataFrmae(s)
s1 = pd.Series([11, 22, 33])
s2 = pd.Series([1, 3, 5])
df = pd.DataFrmae(s1, s2)
열 추가하기
df['price'] = [100, 200, 300]
df[4] = [100, 200, 300]