大熊猫中的DataFrame.head()的就地版本

时间:2018-10-10 15:07:38

标签: python pandas performance indexing in-place

熊猫中有df.head(max_rows)的原位版本吗?

当数据帧中的行太多而无法处理时,我需要限制它们的行数。

目前我正在做df = df.head(10000000),但我认为这是内存效率低下的问题。

1 个答案:

答案 0 :(得分:1)

您可以使用pd.DataFrame.drop进行 操作:

n = 10000000
df.drop(df.index[n:], inplace=True)

但这可能无济于事。根据{{​​3}}:

  

df.drop(..., inplace=True)确实修改了df,但由于   在熊猫中实现inplace操作的方式,没有真正的   这样做比直接分配给   变量名。就我个人而言,我更喜欢返回值的函数   修改值的函数,因为前者分配   语法完全清楚正在修改的内容。

这在@unutbu's comment中有进一步的解释。

此外,请注意,此方法不适用于重复的索引。