해설

import pandas as pd

df = pd.read_csv('data/broadcast.csv', index_col=0)

 

DataFrame에서 인덱싱을 통해 값을 받아오기 위해서는 loc 메소드

df.loc[row, column]
import pandas as pd

df = pd.read_csv('data/broadcast.csv', index_col=0)
df.loc[2016, 'KBS']
27.583000000000002

해설

column에 대한 인덱싱은 두 가지 방식

df[column]

 

모범 답안

import pandas as pd

df = pd.read_csv('data/broadcast.csv', index_col=0)
df['JTBC']
2011    7.380
2012    7.878
2013    7.810
2014    7.490
2015    7.267
2016    7.727
2017    9.453
Name: JTBC, dtype: float64

해설

column에 대한 인덱싱은 두 가지 방식

df[column]

 

리스트로 인덱싱

df[[column1, column2]]

우리가 원하는 column은 'SBS'와 'JTBC' 이니까, 다음과 같이 코드를 작성하면 됩니다.

모범 답안

import pandas as pd

df = pd.read_csv('data/broadcast.csv', index_col=0)
df[['SBS', 'JTBC']]

해설

1. 데이터 파악하기

import pandas as pd

samsong_df = pd.read_csv('data/samsong.csv')
samsong_df

import pandas as pd

hyundee_df = pd.read_csv('data/hyundee.csv')
hyundee_df

samsong_df['요일']
samsong_df['문화생활비']
hyundee_df['문화생활비']

2. 파이썬 사전(dictionary) 만들기

세 개의 column 'day', 'samsong', 'hyundee' 

{'day': samsong_df['요일'], 
    'samsong': samsong_df['문화생활비'], 
    'hyundee': hyundee_df['문화생활비']}

모범 답안

import pandas as pd

samsong_df = pd.read_csv('data/samsong.csv')
hyundee_df = pd.read_csv('data/hyundee.csv')

combined_df = pd.DataFrame({
    'day': samsong_df['요일'], 
    'samsong': samsong_df['문화생활비'], 
    'hyundee': hyundee_df['문화생활비']
})
combined_df
   day  samsong  hyundee
0  MON     4308     5339
1  TUE     7644     3524
2  WED     5674     5364
3  THU     8621     9942
4  FRI    23052    33511
5  SAT    15330    19397
6  SUN    19030    19925

데이터프레임 슬라이싱 

import pandas as pd

df = pd.read_csv('data/broadcast.csv', index_col=0)
# 여기에 코드를 작성하세요
df = df.loc[2012:2017, 'KBS':'SBS']
df

불린 인덱싱

import pandas as pd

df = pd.read_csv('data/broadcast.csv', index_col=0)
# 여기에 코드를 작성하세요
condition = df['SBS']<df['TV CHOSUN']
df = df.loc[condition]
df = df[['SBS','TV CHOSUN']]
df

DataFrame 인덱싱을 하는 방법

하나의 row 이름 df.loc["row4"]  
row 이름의 리스트 df.loc[["row4", "row5", "row3"]]  
row 이름의 리스트 슬라이싱 df.loc["row2":"row5"] df["row2":"row5"]
하나의 column 이름 df.loc[:, "col1"] df["col1"]
column 이름의 리스트 df.loc[:, ["col4", "col6", "col3"]] df[["col4", "col6", "col3"]]
column 이름의 리스트 슬라이싱 df.loc[:, "col2":"col5"]  
위치로 인덱싱하기기본 형태단축 형태
하나의 row 위치 df.iloc[8]  
row 위치의 리스트 df.iloc[[4, 5, 3]]  
row 위치의 리스트 슬라이싱 df.iloc[2:5] df[2:5]
하나의 column 위치 df.iloc[:, 3]  
column 위치의 리스트 df.iloc[:, [3, 5, 6]]  
column 위치의 리스트 슬라이싱 df.iloc[:, 3:7]  
import pandas as pd

df = pd.read_csv('data/body_imperial1.csv', index_col=0)

# 여기에 코드를 작성하세요
df = df.index
iname = df.index.name

 

+ Recent posts