我喜欢在熊猫中使用.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 数据库查询—如何获取指定范围