我有一个 pandas 数据框,其时间序列形式如下:
Date value
2020-01 1
2020-02 2
2020-03 3
我想使用例如 pd.to_datetime 有效地将其变成日期时间系列。 .
这可以很容易地完成,如下所示如果您希望日期的插入日期部分为01
代码:
import pandas as pd
df = pd.DataFrame({'date': {0: '2020-01', 1: '2020-02', 2: '2020-03'},
'value': {0: 1, 1: 2, 2: 3}})
df['datetime']=pd.to_datetime(df['date'])
df
输出:
date value datetime
0 2020-01 1 2020-01-01
1 2020-02 2 2020-02-01
2 2020-03 3 2020-03-01
如您所见,假设每月的首选日期是该月的第一天。但如何确保获得该月的最后一天呢?
所需输出:
date value datetime
0 2020-01 1 2020-01-31
1 2020-02 2 2020-02-28
2 2020-03 3 2020-03-31
最佳答案
我认为 to_datetime
中不可能,可能的解决方案是转换为日期时间后添加值:
df['datetime']=pd.to_datetime(df['date']) + pd.offsets.MonthEnd()
print (df)
date value datetime
0 2020-01 1 2020-01-31
1 2020-02 2 2020-02-29
2 2020-03 3 2020-03-31
关于python - 当输入限制为 'yyyy-mm' 时,如何使 pd.to_datetime 插入月份的最后一天而不是第一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59190755/