我已经使用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
的想法? 谢谢!
我已经使用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
的想法? 谢谢!
使用iterrows()循环遍历每一行。默认的迭代将只显示列。
for sample in df.iterrows():
print sample
感谢您的答案! –
用于遍历DataFrame
行,你可以使用.iterrows()功能。
for index, row in df.iterrows():
# Process each row
在你的情况,我认为下面的例子提供了解决方案,也提供 执行的时间。对于这一数额行我会用itertuples()
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()]
感谢您的详细解答! –
的可能的复制[如何循环排在熊猫一个数据帧? ](http://stackoverflow.com/questions/16476924/how-to-iterate-over-rows-in-a-dataframe-in-pandas) – amin