Python 中 R 的 head 和 tail 函数的等价实现

24 投票
1 回答
58064 浏览
提问于 2025-04-18 16:36

我想预览一个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

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索引器。

撰写回答