如何迭代Pandas数据帧行并在每次迭代中创建数据帧

Chr*_*hes 2 python

我有一个熊猫数据框gmat.样本数据看起来像

YEAR  student score mail_id      phone            Loc
2012  abc     630   abc@xyz.com  1-800-000-000   pqr
2012  pqr     630   pqr@xyz.com  1-800-000-000   abc
Run Code Online (Sandbox Code Playgroud)

我想迭代这个数据帧并从这个数据帧的行中创建一个数据帧for循环并使用该数据帧进行计算.for循环中的每次迭代都会用迭代中的当前行覆盖先前的数据帧.例如,for循环中的第一个数据框看起来像

YEAR  student score mail_id      phone            Loc
2012  abc     630   abc@xyz.com  1-800-000-000   pqr
Run Code Online (Sandbox Code Playgroud)

覆盖第一行后的第二个数据帧看起来像

YEAR  student score mail_id      phone            Loc
2012  pqr     630   pqr@xyz.com  1-800-000-000   abc
Run Code Online (Sandbox Code Playgroud)

所以我尝试了下面的代码

for row in gmat.iterrows():
    
    df=pd.DataFrame(list(row))
Run Code Online (Sandbox Code Playgroud)

但是在检查时我发现df没有正确填充.它只显示2列你能建议我怎么做吗?

我也根据Georgy的建议尝试了这个,我用过for index, row in gmat.iterrows().在这里我得到的行pd.Series然后我正在使用gmrow=pd.DataFrame(row)但是我的原始数据的列标题将成为行.数据我得到了 YEAR 2012 student abc score 630 mail_id abc@xyz.com phone 1-800-000-000 Loc pqr

Shr*_*ukh 5

您可以像这样切片数据帧:

for index, row in gmat.iterrows(): x = df[index:index+1] print("print iterations:",x)

print只是一个例子.您可以使用.进行所需的转换x