我想绘制一个plotly.express.area
图px.area(df, x="date", y="count_cum", color="topic")
这是df看起来的样子:
date topic count_cum count
0 2021-03-05 topic_1 1 1
1 2021-03-05 topic_2 1 1
2 2021-03-06 topic_1 2 1
3 2021-03-07 topic_1 3 1
4 2021-03-07 topic_2 2 1
问题是在20121-03-06这一天topic_2
的累积列不存在,topic_2
的图形落到了0
。有办法防止这种情况发生吗?或者如果没有,我怎么调整df
?
如果阴谋做不到,我认为目标应该是这样的:
date topic count_cum count
0 2021-03-05 topic_1 1 1
1 2021-03-05 topic_2 1 1
2 2021-03-06 topic_1 2 1
3 2021-03-06 topic_2 1 0
4 2021-03-07 topic_1 3 1
5 2021-03-07 topic_2 2 1
您可以使用dataframe.interpolate()
创建缺失值的插值,例如:
df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),
(np.nan, 2.0, np.nan, np.nan),
(2.0, 3.0, np.nan, 9.0),
(np.nan, 4.0, -4.0, 16.0)],
columns=list('abcd'))
df
a b c d
0 0.0 NaN -1.0 1.0
1 NaN 2.0 NaN NaN
2 2.0 3.0 NaN 9.0
3 NaN 4.0 -4.0 16.0
df.interpolate(method='linear', limit_direction='forward', axis=0)
a b c d
0 0.0 NaN -1.0 1.0
1 1.0 2.0 -2.0 5.0
2 2.0 3.0 -3.0 9.0
3 2.0 4.0 -4.0 16.0
这里是官方文档:
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html
这里有一个教程:
=https://www.geeksforgeeks.org/python-pandas-dataframe-interpolate/: ~:文本插入()% 20函数% 20 % 20基本上,比% 20硬% 2 dcoding % 20 % 20值。
请注意,这将是期望的实际值的近似值,这可能导致对的误解和对情节的错误分析.