df.head()有时在Pandas,Python中不起作用

时间:2012-10-26 11:02:59

标签: python pandas

我是Python和Pandas库的初学者,我对DataFrame的一些基本功能感到困惑。我有一个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)

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

3 个答案:

答案 0 :(得分:19)

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

您可以通过pd.set_printoptions(max_columns=10)增加终端的尺寸,还是禁用列上的自动检测?

答案 1 :(得分:1)

 DataFrame.head(n=5)

返回前n行。

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

参数:

n : int, default 5

要选择的行数。

返回:

obj_head : type of caller

调用者对象的前n行。

答案 2 :(得分:0)

尝试以下代码段:

from IPython.display import display
display(df.head())