2주차(5) : Pandas 다루기 - DataFrame
import pandas as pd
data = {
"2015": [9904312, 3448737, 2890451, 2466052],
"2010": [9631482, 3393191, 2632035, 2431774],
"2005": [9762546, 3512547, 2517680, 2456016],
"2000": [9853972, 3655437, 2466338, 2473990],
"지역": ["수도권", "경상권", "수도권", "경상권"],
"2010-2015 증가율": [0.0283, 0.0163, 0.0982, 0.0141]
}
col = ["지역", "2015", "2010", "2005", "2000", "2010-2015 증가율"]
idx = ["서울", "부산", "인천", "대구"]
df = pd.DataFrame(data, index=idx, columns=col)
df
print(df["지역"])
print(df[["2010", "2015"]])
print(df[0])
scores = {"수학" : [50, 45, 65, 70, 80],
"영어" : [90, 20, 55, 60, 75],
"과학" : [20, 15, 65, 90, 95]}
df_score = pd.DataFrame(scores)
df_score
df_score["평균"] = 0
print(df_score)
df_score["평균"] = (df["과학"] + df["수학"] + df["영어"])/3
print(df_score)
print(df_score.mean())
del df_score["평균"]
print(df_score)
데이터프레임에서 열 라벨로 시리즈를 인덱싱하고 다시 행 라벨로 개별 데이터를 인덱싱할 수 있다.
#과학 0번째
print(df_score["과학"][0])
#과학 0~2번째
print(df_score["과학"][0:3])
#과학,수학의 0~1번째
print(df_score[["과학", "수학"]][0:2])
#전체 데이터프레임의 1~ 뒤에서 1번째
print(df_score[1:-1])
파일 읽어오기
read_excel("파일경로")
read_csv("파일경로")
파일경로는 같은 폴더에 있으면 파일 이름만 입력해주면 된다.
df = pd.read_excel("../data/example.xlsx")
브랜드가 Mercedes-Benz 인 데이터만 골라내기
df_benz = df[df["브랜드"] == "Mercedes-Benz"]
print(df_benz)
데이터프레임.to_excel("경로명")
데이터프레임.to_csv("경로명")
df_benz.to_excel("benz.xlsx")
df_benz.to_excel("benz.xlsx", index=False)
df_benz_auto = df_benz[df_benz["수행기능"] == "AUTO"]
print(df_benz_auto)
df_benz_auto.to_excel("benz.xlsx", index=False, sheet_name="AUTO")
writer = pd.ExcelWriter("경로명")
데이터프레임1.to_excel(writer, "시트명1")
데이터프레임2.to_excel(writer, "시트명2")
writer.save()
df_benz_auto = df_benz[df_benz["수행기능"] == "AUTO"]
df_benz_radio = df_benz[df_benz["수행기능"] == "RADIO"]
writer = pd.ExcelWriter('benz.xlsx')
df_benz_auto.to_excel(writer, 'AUTO')
df_benz_radio.to_excel(writer, 'RADIO')
writer.save()