gpt4 book ai didi

python - 是否有 pandas 函数来显示前/后 n 列,如 .head() 和 .tail()?

转载 作者:太空狗 更新时间:2023-10-29 17:31:05 25 4
gpt4 key购买 nike

我喜欢在 pandas 中使用 .head().tail() 函数来间接显示一定数量的行(有时我想要更少,有时我想要更多的!)。但是有没有办法对 DataFrame 的列执行此操作?

是的,我知道我可以更改显示选项,如:pd.set_option('display.max_columns', 20)

但这太笨重了,不能一直在运行中更改,而且无论如何,它只会替换 .head() 功能,而不是 .tail() 功能。

我也知道这可以使用访问器来完成:yourDF.iloc[:,:20] 模拟 .head(20) 和 yourDF.iloc[:,-20:] 模拟 .tail(20)。

它可能看起来像一小段代码,但老实说,它不像我使用 .head() 时那样直观和快速。

有这样的命令吗?我找不到!

最佳答案

不,Pandas 不提供此类方法,但您自己制作这些方法很容易:

import pandas as pd
def front(self, n):
return self.iloc[:, :n]

def back(self, n):
return self.iloc[:, -n:]

pd.DataFrame.front = front
pd.DataFrame.back = back

df = pd.DataFrame(np.random.randint(10, size=(4,10)))

因此现在所有 DataFrame 将拥有这些方法:

In [272]: df.front(4)
Out[272]:
0 1 2 3
0 2 5 2 8
1 9 9 1 3
2 7 0 7 4
3 8 3 9 2

In [273]: df.back(3)
Out[273]:
7 8 9
0 3 2 7
1 9 9 4
2 5 7 1
3 3 2 5

In [274]: df.front(4).back(2)
Out[274]:
2 3
0 2 8
1 1 3
2 7 4
3 9 2

如果您将代码放入实用程序模块中,例如 utils_pandas.py,那么您可以使用 import 语句激活它:

import utils_pandas

关于python - 是否有 pandas 函数来显示前/后 n 列,如 .head() 和 .tail()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30608310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com