Python中类似于R中head和tail函数的等效函数

24

我想预览一个Pandas数据框。在R中,我会使用head(mymatrix),但我不知道如何在Pandas Python中进行操作。

当我键入

df.head(10),我得到...

<class 'pandas.core.frame.DataFrame'>
Int64Index: 10 entries, 0 to 9
Data columns (total 14 columns):
#Book_Date            10  non-null values
Item_Qty              10  non-null values
Item_id               10  non-null values
Location_id           10  non-null values
MFG_Discount          10  non-null values
Sale_Revenue          10  non-null values
Sales_Flg             10  non-null values
Sell_Unit_Cost        5  non-null values
Store_Discount        10  non-null values
Transaction_Id        10  non-null values
Unit_Cost_Amt         10  non-null values
Unit_Received_Cost    5  non-null values
Unnamed: 0            10  non-null values
Weight                10  non-null values

2
http://pandas.pydata.org/pandas-docs/stable/basics.html#head-and-tail - BrenBarn
1
以上代码的问题在于它只显示列名,并告诉我有5个obs。我想立即看到结构输出,就像R中的head()一样。 - wolfsatthedoor
1
我没有使用过R,所以我不确定你所说的结构输出是什么意思。在数据框上调用headtail将返回另一个数据框,因此您可以对其进行各种操作。 - Shashank Agarwal
1
你说的“结构化输出立即”是什么意思?Pandas中的head函数会像R语言中一样,显示DataFrame的前几行数据。你能否展示一下你现在得到的输出,并解释一下你想要得到的结果是什么? - BrenBarn
2
升级Pandas到>= 0.13版本应该可以解决此问题。 - JaminSore
显示剩余5条评论
1个回答

25
假设您想输出鸢尾花数据集的前10行和后10行。
在R中:
data(iris)
head(iris, 10)
tail(iris, 10)

在Python中(需要 scikit-learn 来加载鸢尾花数据集):

import pandas as pd
from sklearn import datasets
iris = pd.DataFrame(datasets.load_iris().data)
iris.head(10)
iris.tail(10)

现在,就像之前回答的一样,如果您的数据框在终端中显示太大,则会输出摘要。要在终端中可视化您的数据,您可以扩展终端或减少要显示的列数,如下所示。

iris.iloc[:,1:2].head(10)

编辑。将.ix更改为.iloc。来自pandas文档

从0.20.0开始,.ix索引器已被弃用,而更严格的.iloc和.loc索引器得到了青睐。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接