当前位置: 首页 > 面试题库 >

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

段阳夏
2023-03-14
问题内容

我喜欢在熊猫中使用.head()and.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


 类似资料:
  • 在java链表中,如果head=null,则LinkedList为空。但是,当我将head设置为null并打印tail的值时,会显示该值。为什么我们说head==null意味着LinkedList是空的?当链表应该为空时,为什么显示尾部值?我们不也应该检查id(tail==null)吗? 主类 输出:5- 45

  • 问题内容: 适用于对象的Pandas函数的文档(请参阅文档)没有指出需要(或建议)对连接进行调用以保持更新。 我可以放心地假设这将始终自动提交更改(例如:)吗? 问题答案: 是的,一天结束时,它将自动提交。 熊猫调用SQLAlchemy方法(用于SQL Alchemy连接): 对于SQLite连接: 并且由于SQL炼金术文档 的问题末

  • 问题内容: 我有一个包含数百列的数据框,我需要查看所有列名称。 我做了什么: 输出为: 如何显示 所有 列,而不是截断的列表? 问题答案: 您可以全局设置打印选项。我认为这应该工作: 方法1: 方法2: 这样您就可以在执行操作时查看所有列名称和行。列名都不会被截断。 如果只想查看列名,可以执行以下操作:

  • 问题内容: 我最近与一位同事讨论了Java为什么List接口没有and 方法的原因。 为了实现这样的功能,必须编写一个看起来像这样的包装器: 我不知道所有List的实现,但我假设至少在LinkedList和ArrayList中, 获取最后一个元素和第一个元素 (恒定时间)应该是很简单的。 所以问题是: 是否有一个特定的原因为什么不能为任何List实现提供tail方法? 问题答案: Java Col

  • 我试图操纵一个数据帧,它是从Sci Kit Learn的train_test_split操作中收到的。系统提供了以下信息: /usr/local/lib/python3.6/site packages/pandas/core/index.py:179:SettingWithCopyWarning:试图在数据帧中的切片副本上设置值 以下内容会在我的系统上引发警告: 我使用以下版本: python:'

  • 本文向大家介绍django 前端页面如何实现显示前N条数据,包括了django 前端页面如何实现显示前N条数据的使用技巧和注意事项,需要的朋友参考一下 这个涉及到的知识点是django数据库查询问题,我们可以在view.py文件中操作 blog_list = models.Blog.objects.all()[:3] 这是选取数据库的前三条数据 补充知识:django 数据库查询—如何获取指定范围