2016-12-08 164 views
0

我已經使用Pandas加載了一個CSV文件。 CSV文件有4000行。 它正確加載。打印數據框時,將打印所有4000行。 但是當我使用「for」循環遍歷行時,它只打印文件中的第一行。通過CSV文件迭代並打印行時,只打印第一行

這是我的代碼:

import pandas as pd 

df = pd.read_csv('EX2_EM_GMM.csv') 
for sample in df: 
    print sample 

的想法? 謝謝!

+1

的可能的複製[如何循環排在熊貓一個數據幀? ](http://stackoverflow.com/questions/16476924/how-to-iterate-over-rows-in-a-dataframe-in-pandas) – amin

回答

0

使用iterrows()循環遍歷每一行。默認的迭代將只顯示列。

for sample in df.iterrows(): 
    print sample 
+0

感謝您的答案! –

0

用於遍歷DataFrame行,你可以使用.iterrows()功能。

for index, row in df.iterrows(): 
    # Process each row 
0

在你的情況,我認爲下面的例子提供瞭解決方案,也提供 執行的時間。對於這一數額行我會用itertuples()

itertuples()iterrows()

import pandas as pd 
import numpy as np 

di = {k:np.random.randn(4000) for k in ["a", "b", "c", "d"]} 
df = pd.DataFrame(di) 

for row in df.itertuples(): 
    print row 

%timeit [row for row in df.itertuples()] 

%timeit [row for row in df.iterrows()] 

output sample result of execution time

+0

感謝您的詳細解答! –