我有一个带有datetime格式索引的df。我想提取每个样本的年份-月份。稍后我将使用它为散点图中的样本着色。
我的代码:
df.index =
DatetimeIndex(['2019-10-01 08:16:57', '2019-10-01 08:43:54',
'2019-10-01 08:45:24', '2019-10-01 08:49:42',
'2019-10-01 09:01:04', '2019-10-01 09:07:04',
'2019-10-01 09:07:40', '2019-10-01 09:07:46',
'2019-10-01 09:14:09', '2019-10-01 09:14:57',
'2020-11-13 14:22:58', '2020-11-13 14:23:01',
'2020-11-13 14:31:40', '2020-11-13 14:31:58',
'2020-11-13 14:32:49', '2020-11-13 14:33:13',
'2020-11-13 14:36:16', '2020-11-13 14:40:03',
'2020-11-13 15:01:24', '2020-11-14 09:57:21'],
dtype='datetime64[ns]', name='timestamp', length=104676, freq=None)
df['year-month'] = df.index.strftime('%Y-%m')
print(df['year-month'])
Index(['2019-10', '2019-10', '2019-10', '2019-10', '2019-10', '2019-10',
'2019-10', '2019-10', '2019-10', '2019-10',
...
'2020-11', '2020-11', '2020-11', '2020-11', '2020-11', '2020-11',
'2020-11', '2020-11', '2020-11', '2020-11'],
dtype='object', name='timestamp', length=104676)提取的year-month属于object类型,而不是df.index类型。我想为df绘制一个散点图。我想根据它所属的年份和月份给样本上色。现在,当我设置plt.scatter(x,y,c=df['year-month'])时,它会引发一个错误。因此,将其转换为时间戳格式可以解决散点图问题。
发布于 2020-12-07 22:12:40
您可以执行以下操作:
df['year-month'] = df.index.to_period('M')https://stackoverflow.com/questions/65183321
复制相似问题