簡體   English   中英

如何使用 Pandas/in Python 重新格式化索引中的日期

[英]How to reformat dates in an index using Pandas/in Python

我的變量dates_city存儲這個:

Index(['2020-11-17T00:00:00', '2020-11-18T00:00:00', '2020-11-19T00:00:00',
       '2020-11-20T00:00:00', '2020-11-21T00:00:00', '2020-11-22T00:00:00',
       '2020-11-23T00:00:00', '2020-11-24T00:00:00', '2020-11-25T00:00:00',
       '2020-11-26T00:00:00', '2020-11-27T00:00:00', '2020-11-28T00:00:00'])

我希望它存儲為:

Index(['2020-11-17', '2020-11-18', '2020-11-19',
       '2020-11-20', '2020-11-21', '2020-11-22',
       '2020-11-23', '2020-11-24', '2020-11-25',
       '2020-11-26', '2020-11-27', '2020-11-28'])

所以,基本上只有 yyyy-mm-dd 格式的日期。 我試圖使用 datetime 但我似乎無法讓它工作,可能是因為這個變量是一個索引,而不是一個數組。 我該如何重新格式化?

您可以使用 pandas reset_index()方法更改 dataframe 的索引。 請注意,這會將日期列重命名為“索引”,因此您可能希望使用 pandas rename()方法對其進行重命名。

然后您可以使用 pandas strftime()方法重新格式化您的日期。 重新格式化后,如果仍想使用日期列作為索引,可以通過更改 dataframe 的索引屬性來實現(見下面的代碼):

df.index = df['Date']

pandas.to_datetime為我工作:

pd.to_datetime(dates_city)
#DatetimeIndex(['2020-11-17', '2020-11-18', '2020-11-19', '2020-11-20',
#               '2020-11-21', '2020-11-22', '2020-11-23', '2020-11-24',
#               '2020-11-25', '2020-11-26', '2020-11-27', '2020-11-28'],
#              dtype='datetime64[ns]', freq=None)

如果要將其保留為pandas.Index ,可以添加方法pandas.DatetimeIndex.strftime

pd.to_datetime(dates_city).strftime("%Y-%m-%d")
#Index(['2020-11-17', '2020-11-18', '2020-11-19', '2020-11-20', '2020-11-21',
#       '2020-11-22', '2020-11-23', '2020-11-24', '2020-11-25', '2020-11-26',
#       '2020-11-27', '2020-11-28'],
#      dtype='object')

您可以在此處找到日期時間格式代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM