20

我是 Python 和 Pandas 库的初学者,我对 DataFrame 的一些基本功能感到困惑。我有一个熊猫数据框,如下所示:

>>>df.head()  
              X  Y       unixtime
0  652f5e69fcb3  1  1346689910622
1        400292  1  1346614723542
2  1c9d02e4f14e  1  1346862070161
3        610449  1  1346806384518
4        207664  1  1346723370096

但是,在我执行了一些功能之后:

def unixTodate(unix):
  day = dt.datetime.utcfromtimestamp(unix/1000).strftime('%Y-%m-%d')
  return day

df['day'] = df['unixtime'].apply(unixTodate)

我无法再使用 df.head() 函数:

>>>df.head()  

<class 'pandas.core.frame.DataFrame'>
Int64Index: 5 entries, 190648 to 626582
Data columns:
X              5  non-null values
Y              5  non-null values
unixtime       5  non-null values
day            5  non-null values
dtypes: int64(3), object(5)

我不明白为什么会这样。我在这里做错了吗?欢迎任何指针!谢谢。

4

3 回答 3

18

df.head(n)返回 aDataFrame保存 df 的前 n 行。现在显示一个DataFramepandas 默认情况下检查终端的宽度,如果这太小而无法显示,将显示DataFrame一个摘要视图。这是你在第二种情况下得到的。

您能否增加终端的大小,或禁用列上的自动检测pd.set_printoptions(max_columns=10)

于 2012-10-26T11:43:09.147 回答
2

试试下面的代码段:

from IPython.display import display
display(df.head())
于 2018-11-26T05:26:12.730 回答
1
 DataFrame.head(n=5)

返回前 n 行。

此函数根据位置返回对象的前 n 行。它对于快速测试您的对象中是否包含正确类型的数据很有用。

参数:

n : int, default 5

要选择的行数。

回报:

obj_head : type of caller

调用者对象的前 n 行。

于 2018-09-05T20:10:21.160 回答