在問另一個問題時,由于列是 pd.datetime.date 和 pd.datetime.time,我很難在此處粘貼一個玩具 DataFrame。我希望人們回答能夠快速匯入玩具 df - 它仍然比下面的玩具 df 的玩具稍大。
我已經閱讀了這篇文章和另一篇文章,其中解釋了如何使用df.head().to_dict()和復制資料框。我做了一個玩具示例 df 并嘗試了該方法。這是結果df.head().to_dict():
In [0]: df = pd.DataFrame({'location':['Silvretta'], 'date':[pd.to_datetime('2022-03-30 07:35:00').date()], 'time':[pd.to_datetime('2022-03-30 07:35:00').time()]})
In [1]: s = df.head().to_dict()
In [2]: print(s)
Out [2]
{'location': {0: 'Silvretta'}, 'date': {0: datetime.date(2022, 3, 30)}, 'time': {0: datetime.time(7, 35)}}
現在,當我打電話時,pd.DataFrame(s)我獲得了我的資料框,但是當我手動復制字串時(就像幫助我的人必須做的那樣),我收到以下錯誤。
In [3] pd.DataFrame(s) # works
In [4] pd.DataFrame({'location': {0: 'Silvretta'}, 'date': {0: datetime.date(2022, 3, 30)}, 'time': {0: datetime.time(7, 35)}})
Out [4]
---------------------------------------------------------------------------
[...]
NameError: name 'datetime' is not defined
首先,我不明白為什么這兩個選項之間存在差異。為什么會有所作為?最后,我如何很好地格式化和顯示帶有日期時間的 DataFrame 以獲得幫助?顯然過于簡單化了In [0],所以我不想在下一個問題中“構建”我的 df,而只是粘貼最終的可復制版本。
謝謝您的幫助!
我試圖通過使用 StackOverflow 表格格式化表格來顯示表格,但這非常耗時,即使對于 5x6 矩陣(有技巧嗎?)并且不可復制(我認為)。使用字典的共享對我不起作用。我可以發布構建df的整個方式,但我不想讓我要問的下一個問題超載。
uj5u.com熱心網友回復:
如果需要使用 dict 創建新的 DataFrame 以import datetime正確匯入日期時間變數:
import datetime
print (pd.DataFrame({'location': {0: 'Silvretta'},
'date': {0: datetime.date(2022, 3, 30)},
'time': {0: datetime.time(7, 35)}}))
location date time
0 Silvretta 2022-03-30 07:35:00
解釋:
如果通過pd.DataFrame(s),則沒有決議列印版本的 dict,因此運行良好,否則決議 datetimes 的字串表示需要import datetime。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/454565.html
標籤:Python python-3.x 熊猫 数据框 jupyter-笔记本
上一篇:涌入結果集到日期時間列熊貓
