将相同的Date值分组到一行中,而不更改Pandas中的Column值

vuv7lop3  于 2023-04-10  发布在  其他
关注(0)|答案(1)|浏览(90)

我在一个列的多行中有'YYYY-MM-DD'格式的值,我想将它们分组在一起,并可视化相应的列值。

Date            Col1 
2018-3-8        111 
2018-3-8        8439 
2018-3-8        82429 
2018-3-8         2289
2018-3-9        2810 
2018-3-9        232 
2018-3-9        3287

我必须将这些值可视化为x轴上的一天,保持相应的col 1值不变。
groupby(df.Date.dt.month)我尝试了这个方法,但是它给出了属性错误,说“AttributeError:只能将.dt访问器与datetime类值一起使用”
我在数据集中还有一列“分-秒-毫秒”格式的时间。

wvt8vs2t

wvt8vs2t1#

确切的预期图并不清楚,但您不需要groupby(这将生成多个图!)。
例如,您可以使用简单的散点图:

df.plot.scatter(x='Date', y='Col1')

输出:

如果你使用datetime dtype作为“Date”,matplotlib会在你的日期间隔不均匀的情况下处理正确的间隔:

df.assign(Date=pd.to_datetime(df['Date'])).plot.scatter(x='Date', y='Col1')

输出:

可重现输入:

df = pd.DataFrame('Date': ['2018-3-8', '2018-3-8', '2018-3-8', '2018-3-8', '2018-3-9', '2018-3-9', '2018-3-9'],
                  'Col1': [111, 8439, 82429, 2289, 2810, 232, 3287]})

相关问题