我有三个不同的列表,分别命名为:“pos_date_data”、“neu_date_data”、“neg_date_data”。 (每种表示正、中性和负)
它们包含数据框形状中的日期时间值
下面是打印列表时它们的样子。每一个都有不同的长度
datetime
0 2018-07-04
1 2018-07-04
2 2018-07-04
3 2018-07-04
4 2018-07-04
.. ...
212 2020-02-02
213 2020-02-02
214 2020-02-03
215 2020-02-04
216 2020-02-07
[217 rows x 1 columns]
datetime
0 2018-07-04
1 2018-07-04
2 2018-07-04
3 2018-07-04
4 2018-07-04
... ...
1527 2020-02-09
1528 2020-02-10
1529 2020-02-11
1530 2020-02-11
1531 2020-02-12
[1532 rows x 1 columns]
从它们开始,我尝试使用pandas,python将它们合并到一个数据帧中
为此,我必须在整个范围内(2018-07~2020.03)按日期计算月份。 例如: 如果在neu_date_数据中2019-05的总日期数是15,我想在表中显示为整数
我尝试了以下代码:
df = pd.crosstab(neg_date_data['datetime'].dt.month.rename('m'),
neg_date_data['datetime'].dt.year.rename('y'))
并列印为: 以交叉表的形式显示,每个项目代表月份中的日期数
y 2018 2019 2020
m
1 0 1 17
2 0 0 2
3 0 1 0
4 0 3 0
5 0 12 0
6 0 13 0
7 25 16 0
8 0 36 0
9 0 2 0
10 1 8 0
11 1 5 0
12 2 4 0
我想用3种方式修复代码:
合并3个列表并显示一次
将整个“年”和“月”数据设置为列
对于3行,每行的标题为“pos”、“neu”、“neg”,而非年份
首先通过^{} 将日期时间转换为月份期间,然后一起使用^{} ,最后一个^{} :
我认为对于绘图来说,最好是在行中使用月周期,在列中使用类型:
相关问题 更多 >
编程相关推荐