【问题标题】:Python equivalent of R's head and tail functionPython 等价于 R 的头尾函数
【发布时间】:2014-10-02 09:20:30
【问题描述】:

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

【问题讨论】:

  • 上面的问题是它只显示了列名并告诉我 5 obs。我想立即查看结构输出,例如 R 中的 head()。
  • 我没有用过R,所以我不确定你所说的结构输出是什么意思。在数据帧上调用 headtail 将返回另一个数据帧,因此您可以对其进行各种操作。
  • “立即构造输出”是什么意思? Pandas 中的head 向您展示了 DataFrame 的前几行,就像在 R 中一样。您能否展示您获得的输出示例并解释您想要什么?
  • 将 Pandas 升级到 >= 0.13 应该可以解决此问题。

标签: python r view pandas


【解决方案1】:

假设要输出鸢尾花数据集的前10行和后10行。

在 R 中:

data(iris)
head(iris, 10)
tail(iris, 10)

在 Python 中(加载 iris 数据集需要 scikit-learn):

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

现在,作为previously answered,如果您的数据框对于您在终端中使用的显示而言太大,则会输出摘要。要在终端中可视化您的数据,您可以扩展终端或减少要显示的列数,如下所示。

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

编辑。将.ix 更改为.iloc。来自the pandas documentation

从 0.20.0 开始,不推荐使用 .ix 索引器,取而代之的是更严格的 .iloc 和 .loc 索引器。

【讨论】:

    猜你喜欢
    • 2014-04-20
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    相关资源
    最近更新 更多