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

S.z*_*hen 20 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
Run Code Online (Sandbox Code Playgroud)

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

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

df['day'] = df['unixtime'].apply(unixTodate)
Run Code Online (Sandbox Code Playgroud)

我再也无法使用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)
Run Code Online (Sandbox Code Playgroud)

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

Wou*_*ire 19

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

您可以增加终端的大小,还是禁用列上的自动检测pd.set_printoptions(max_columns=10)