遍历熊猫的前N行

Dav*_*542 5 python pandas

建议像在文件中那样迭代熊猫中的行的建议方法是什么?例如:

LIMIT = 100
for row_num, row in enumerate(open('file','r')):
    print (row)
    if row_num == LIMIT: break
Run Code Online (Sandbox Code Playgroud)

我正在考虑做类似的事情:

for n in range(LIMIT):
    print (df.loc[n].tolist())
Run Code Online (Sandbox Code Playgroud)

尽管在熊猫中有内置的方法可以做到这一点?

knh*_*190 25

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

for row in df.head(5).itertuples():
    # do something
Run Code Online (Sandbox Code Playgroud)

看一看这篇文章

  • 顺便说一句,`df.head(5).iterrows()`也有效 (5认同)

use*_*260 12

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

for i, row in df.iloc[:101].iterrows():
    print(row)
Run Code Online (Sandbox Code Playgroud)

尽管正如其他人所指出的,如果速度至关重要,则应用函数或矢量化函数可能会更好。

>>> 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
>>>
Run Code Online (Sandbox Code Playgroud)