簡體   English   中英

如何在python 3大熊貓中用na格式化日期時間

[英]How can I format datetime with na in python 3 pandas

我在熊貓表中有NA的日期:

0    2017-04-04 00:00:00
1    2018-09-20 00:00:00
2    na
3    2018-09-01 00:00:00
4    na
5    2018-01-01 00:00:00

我需要將表更改為沒有時間的字符串類型,將日期格式用點分隔,並將na替換為空字符串''

0    04.04.2017
1    20.09.2018
2    
3    01.09.2018
4    
5    01.01.2018

如果我使用strftime('%d。%m。%Y')我收到錯誤。 如果我使用dt.date它給我錯誤的格式:2017-04-04

使用strftime ,但要替換NaT使用replace

#if necessary
#df['col'] = pd.to_datetime(df['col'])
df = df['col'].dt.strftime('%d.%m.%Y').replace('NaT','')
print (df)
0    04.04.2017
1    20.09.2018
2              
3    01.09.2018
4              
5    01.01.2018
Name: col, dtype: object

您在正確的軌道上! 請注意,調用fillna會將列轉換為非datetime類型。 但是您可以在轉換后調用str.replace

df['date'].dt.date.fillna('')\
     .astype(str).str.split('-').str[::-1].str.join('.')

0    04.04.2017
1    20.09.2018
2              
3    01.09.2018
4              
5    01.01.2018
Name: date, dtype: object

暫無
暫無

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

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