2016-09-05 3 views

답변

1

가 어떻게이 DataFrame의 행을 반복 할 수 있습니까? 어떤 이유로 iterrows()는 Series가 아닌 튜플을 반환합니다.

In [9]: df = pd.DataFrame({'a': range(4), 'b': range(2, 6)}) 

In [10]: for r in df.iterrows(): 
    print r[1], type(r[1]) 
    ....:  
a 0 
b 2 
Name: 0, dtype: int64 <class 'pandas.core.series.Series'> 
a 1 
b 3 
Name: 1, dtype: int64 <class 'pandas.core.series.Series'> 
a 2 
b 4 
Name: 2, dtype: int64 <class 'pandas.core.series.Series'> 
a 3 
b 5 
Name: 3, dtype: int64 <class 'pandas.core.series.Series'> 

나는 또한이 팬더를 사용하는 효율적인 방법이 아니라고 이해 :

튜플의 두 번째 항목은 시리즈입니다.

일반적으로 사실이지만 질문은 너무 일반적입니다. DataFrame을 반복하는 이유를 지정해야합니다.

2

사용 :

s = pd.Series([0,1,2]) 

for i in s: 
    print (i) 
0 
1 
2 

DataFrame :

df = pd.DataFrame({'a':[0,1,2], 'b':[4,5,8]}) 
print (df) 
    a b 
0 0 4 
1 1 5 
2 2 8 

for i,s in df.iterrows(): 
    print (s) 

a 0 
b 4 
Name: 0, dtype: int64 
a 1 
b 5 
Name: 1, dtype: int64 
a 2 
b 8 
Name: 2, dtype: int64 
관련 문제