遍历 pandas 中的前 N 行

新手上路,请多包涵

像在文件中一样遍历 pandas 中的行的建议方法是什么?例如:

 LIMIT = 100
for row_num, row in enumerate(open('file','r')):
    print (row)
    if row_num == LIMIT: break

我在想做类似的事情:

 for n in range(LIMIT):
    print (df.loc[n].tolist())

在熊猫中有没有内置的方法来做到这一点?

原文由 David542 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 571
2 个回答

没有人回答简单的解决方案吗?

 for row in df.head(5).itertuples():
    # do something


看看 这篇文章

原文由 knh190 发布,翻译遵循 CC BY-SA 4.0 许可协议

我知道其他人建议使用 iterrows,但还没有人建议将 iloc 与 iterrows 结合使用。这将允许您按行号选择所需的行:

 for i, row in df.iloc[:101].iterrows():
    print(row)

尽管正如其他人所指出的那样,如果速度是必不可少的,那么应用函数或矢量化函数可能会更好。

 >>> df
     a    b
0  1.0  5.0
1  2.0  4.0
2  3.0  3.0
3  4.0  2.0
4  5.0  1.0
5  6.0  NaN
>>> for i, row in df.iloc[:3].iterrows():
...     print(row)
...
a    1.0
b    5.0
Name: 0, dtype: float64
a    2.0
b    4.0
Name: 1, dtype: float64
a    3.0
b    3.0
Name: 2, dtype: float64
>>>

原文由 user3062260 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题