熊猫日期时间转换

时间:2020-04-09 15:54:38

标签: python pandas pandas-groupby

我正在从日期存储为的文件之一中获取数据 20 March 我想使用大熊猫转换为20/03/2020

我尝试使用strftimeto_datetime时出错,但仍然无法转换。

此外,当我按日期分组时,它以数字形式存储date列,例如: 1 January,1 February,1 March then 2 January,2 February, 2 March

我该如何解决?

3 个答案:

答案 0 :(得分:0)

import pandas as pd

def to_datetime_(dt):
    return pd.to_datetime(dt + " 2020")

始终在2020年获得熊猫的时间戳

答案 1 :(得分:0)

做,

import pandas as pd
import datetime

df = pd.DataFrame({
    'dates': ['1 January', '2 January', '10 March', '1 April']
})

df['dates'] = df['dates'].map(lambda x: datetime.datetime.strptime(x, "%d %B").replace(year=2020))

 # Output

    dates
0   2020-01-01
1   2020-01-02
2   2020-03-10
3   2020-04-01

答案 2 :(得分:0)

如果year始终是2020,请使用以下代码:

df = pd.DataFrame({'date':['20 March','22 March']})
df['date_new'] = pd.to_datetime(df['date'], format='%d %B')

如果这显示年份为1900,则:

df['date_new'] = df['date_new'].mask(df['date_new'].dt.year == 1900, df['date_new'] + pd.offsets.DateOffset(year = 2020))
print(df)
       date   date_new
0  20 March 2020-03-20
1  22 March 2020-03-22

您还可以根据需要转换日期格式。