我有一个pandas数据框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
我想迭代这个数据框架&从for循环和放大器中的数据帧的行创建数据帧。使用该数据帧进行计算.for循环中的每次迭代都将使用迭代中的当前行覆盖先前的数据帧。例如,for循环中的第一个数据框看起来像
YEAR student score mail_id phone Loc
2012 abc 630 abc@xyz.com 1-800-000-000 pqr
覆盖第一行后的和第二个数据帧看起来像
YEAR student score mail_id phone Loc
2012 pqr 630 pqr@xyz.com 1-800-000-000 abc
所以我尝试了以下代码
for row in gmat.iterrows():
df=pd.DataFrame(list(row))
但在检查时我发现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
答案 0 :(得分:5)
您可以像这样对数据帧进行切片:
for index, row in gmat.iterrows():
x = df[index:index+1]
print("print iterations:",x)
print
只是一个例子。您可以使用x