我有大量yyyy-mm-dd形式的数据,我需要yyyy-mm(字符串格式)形式的数据,因此我可以绘制每月的条形图
我没有收到任何错误,但是对于某些值它输出了不正确的数据,而对于其他值却输出了正确的值
1.0000
2.0000
3.0000
9.8400
7.3200
8.0000
csv文件中的数据为yyyy-mm-dd,但以dd / mm / yyyy的形式输出。修改数据后,它有时以mm / yyyy或dd / yyyy输出数据。我理想地需要字符串格式的数据
答案 0 :(得分:1)
尝试使用pd.to_datetime()和to_period
和strftime
更改日期格式
df = pd.DataFrame(
{
"Collection_End_Date": ["2019-01-07 12:00:00", "2019-01-07 12:00:00", "2019-02-08 12:00:00", "2019-01-05 12:00:00", "2019-01-05 12:00:00"]
}
)
df['Collection_End_Date'] = pd.to_datetime(df['Collection_End_Date'])
df['month_year'] = df['Collection_End_Date'].dt.to_period('M')
Collection_End_Date month_year
0 2019-01-07 12:00:00 2019-01
1 2019-01-07 12:00:00 2019-01
2 2019-02-08 12:00:00 2019-02
3 2019-01-05 12:00:00 2019-01
4 2019-01-05 12:00:00 2019-01
df["Collection_End_Date"] = pd.to_datetime(df["Collection_End_Date"])
df['month_year'] = df['Collection_End_Date'].dt.to_period('M')
df['month_year'] = df['month_year'].dt.strftime('%Y/%m')
Collection_End_Date month_year
0 2019-01-07 12:00:00 2019/01
1 2019-01-07 12:00:00 2019/01
2 2019-02-08 12:00:00 2019/02
3 2019-01-05 12:00:00 2019/01
4 2019-01-05 12:00:00 2019/01