2016-12-08 18 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-iter-ter-over-rows-in-a-dataframe-in-pandas) – amin

答えて

0

iterrows()を使用して、各行をループします。デフォルトの反復では列が表示されます。あなたが.iterrows()機能を使用することができますDataFrame以上の行を反復処理するために

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

答えをありがとう! –

0

。あなたのケースでは

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

詳細な回答ありがとう! –

関連する問題