python - 为另一个日期框列中的每个日期在熊猫数据框中添加一行
问题描述
我有一个数据框,其中偶尔包含一个符号条目,然后是一个计数。我想扩展数据框,以便每个符号都包含数据框中整个日期范围的一行。我想为在某个日期没有符号条目的计数输入一个值“0”。
我的数据框:
dates = ['2021-01-01','2021-01-02','2021-01-03']
symbol = ['a','b','a']
count = [1,2,3]
df = pd.DataFrame({'Mention Datetime': dates,
'Symbol': symbol,
'Count':count})
Mention Datetime Symbol Count
0 2021-01-01 a 1
1 2021-01-02 b 2
2 2021-01-03 a 3
我希望它看起来像什么:
Mention Datetime Symbol Count
0 2021-01-01 a 1
1 2021-01-02 a 0
2 2021-01-03 a 3
3 2021-01-01 b 0
4 2021-01-02 b 2
5 2021-01-03 b 0
解决方案
pivot_table
然后使用stack
:
df = df.pivot_table(index='Mention Datetime',
columns='Symbol', fill_value=0
).stack().reset_index()
输出:
Mention Datetime Symbol Count
0 2021-01-01 a 1
1 2021-01-01 b 0
2 2021-01-02 a 0
3 2021-01-02 b 2
4 2021-01-03 a 3
5 2021-01-03 b 0
推荐阅读
- android - 从 API 29 开始,Wifimanager.disconnect() 的 Android 替代品是什么?
- python - 如何在情节中增加子图的 yticklabel 和主要 yticklabel 之间的空间?
- r - 使用多行标题写入数据帧
- .net - Powershell反射查找功能
- javascript - ReactJS 将 2 个数组转换为表格
- python - python中的Windows实时进程创建监视器
- html - 带有条件的 li 标记在不满足条件时创建空格
- wordpress - WP_Query 分成两个不同的 DIV
- c# - 为什么编译器优化会破坏我的代码?
- php - PHP 肥皂调用结果来自一个函数