我有一個資料框,其中所有列名都是日期。當我使用.read_csv()時,pandas 將這些列名讀取為字串。有沒有辦法指定我希望列名是日期時間物件。
理想情況下,我需要將此作為.read_csv()通話的一部分完成,而不是之后再增加一行。
例如,csv 檔案看起來像
df = pd.DataFrame({'2022-10-25': [0, 1, 1], '2022-10-26': [1, 1, 0]})
當我呼叫時.read_csv(),我希望列標題是日期時間物件,而不是字串。
uj5u.com熱心網友回復:
您將整個列定義為日期時間或整數......您無法將標題定義為日期時間并將值定義為不同的東西。
另一方面,您不能將列定義為日期時間,因為這些值只是整數......我認為您以錯誤的方式處理您的問題。
uj5u.com熱心網友回復:
創建虛擬資料集:
df = pd.DataFrame({'2022-10-25': [0, 1, 1], '2022-10-26': [1, 1, 0]})
檢查初始列索引:
df.columns
輸出:

您可以在之后運行以下代碼.read_csv()
from datetime import datetime
datetime_columns = [datetime.strptime(col, '%Y-%m-%d') for col in df.columns]
df.columns = pd.Index(datetime_columns, dtype='datetime64[ns]')
最后我們檢查新索引:
df.columns
輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/524439.html
標籤:Python熊猫
