首页 > 解决方案 > 为另一个日期框列中的每个日期在熊猫数据框中添加一行

问题描述

我有一个数据框,其中偶尔包含一个符号条目,然后是一个计数。我想扩展数据框,以便每个符号都包含数据框中整个日期范围的一行。我想为在某个日期没有符号条目的计数输入一个值“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

标签: pythonpandasdataframe

解决方案


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

推荐阅读