Python 迭代CSV文件并打印行时,仅打印第一行

Python 迭代CSV文件并打印行时,仅打印第一行,python,csv,pandas,Python,Csv,Pandas,我用熊猫加载了一个CSV文件。CSV文件有4000行。 它加载正确。打印数据帧时,将打印所有4000行。 但是当我使用“for”循环遍历这些行时,它只打印文件中的第一行 这是我的代码: import pandas as pd df = pd.read_csv('EX2_EM_GMM.csv') for sample in df: print sample 一个想法? 谢谢 使用iterrows()循环遍历每一行。默认迭代只显示列 for sample in df.iterrows()

我用熊猫加载了一个CSV文件。CSV文件有4000行。 它加载正确。打印数据帧时,将打印所有4000行。 但是当我使用“for”循环遍历这些行时,它只打印文件中的第一行

这是我的代码:

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
行上迭代,可以使用函数

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()]