Df.head() иногда не работает в Pandas, Python

Я новичок в 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)

Я не понимаю, почему это происходит. Я здесь что-то не так? Любой указатель приветствуется! Спасибо.

Ответы

Ответ 1

df.head(n) возвращает a DataFrame, удерживая первые n строк df. Теперь, чтобы отобразить DataFrame pandas, по умолчанию проверяется ширина терминала, если это слишком мало, чтобы отобразить DataFrame будет показано сводное представление. Это то, что вы получаете во втором случае.

Не могли бы вы увеличить размер вашего терминала или отключить автоопределение по столбцам на pd.set_printoptions(max_columns=10)?