我正在尝试使用 iloc 一次处理一行的数据帧。我有一个从数据库中读入的排序帧:
branch animal owner
00177 cat Dave
00177 lion Peter
00177 dog Dave
00200 dog Mary
00200 dog Fred
00300 horse Doug
00400 cat Dave
我想处理每组分支,所以我想如果我将每个 grpnum 与下一个进行比较。 像这样:
for R in 0 to 7
while [df.iloc[[R],[0]] == df.iloc[[R+1],[0]]
do something
R = R + 1
除了我得到这个错误:
ValueError: Can only compare identically-labeled DataFrame objects
我不能以这种方式处理数据帧吗?如何逐行处理数据帧?我不依赖于使用数据帧对象,它只是方便。此示例显示具有 4 个不同值的 Branch。实际上有一千多个不同的值,同一个分支最多可以包含三十条记录,也只能包含一条。
当你做这种比较时,索引也会被比较
>>> df.iloc[[1],[0]]
branch
1 00177
>>> df.iloc[[0],[0]]
branch
0 00177
在本例中分别为 1 和 0
您可以在此处查找更多详细信息
您可以尝试不同的方法来解决问题,例如
for i in range(7):
if df["branch"][i] == df["branch"][i+1]:
do something
else:
pass