为另一个日期框列中的每个日期在熊猫数据框中添加一行

时间:2021-02-01 20:28:37

标签: python pandas dataframe

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

2 个答案:

答案 0 :(得分:1)

使用 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

答案 1 :(得分:1)

您可以使用根据相关列的唯一值创建的新多索引重新编制索引。

{
  "entries": [
    "user::rwx",
    "user:9cad54de-ec93-4c11-aa3a-b84ce4c91920:rwx",
    "user:d494419c-01f7-4cf7-a5a4-142647853aac:rwx",
    "group::rwx",
    "group:0d275816-7a1d-4847-884d-b5c67f473973:-wx",
    "group:106004df-6d49-450e-a180-e5bfa1fef9b3:r-x",
    "group:5e36e3d9-1579-41fb-b621-3b5baec1e1f2:r-x",
    "group:83f994b9-167f-4886-a10a-63d145befd86:r-x",
    "group:a2adc59f-c1d4-4c48-8676-9d241aa8138c:-wx",
    "group:e4cded2e-6991-4259-bf4c-b93773b28a57:-wx",
    "mask::rwx",
    "other::---",
    "default:user::rwx",
    "default:user:9cad54de-ec93-4c11-aa3a-b84ce4c91920:rwx",
    "default:user:d494419c-01f7-4cf7-a5a4-142647853aac:rwx",
    "default:group::rwx",
    "default:group:0d275816-7a1d-4847-884d-b5c67f473973:-wx",
    "default:group:106004df-6d49-450e-a180-e5bfa1fef9b3:r-x",
    "default:group:5e36e3d9-1579-41fb-b621-3b5baec1e1f2:r-x",
    "default:group:83f994b9-167f-4886-a10a-63d145befd86:r-x",
    "default:group:a2adc59f-c1d4-4c48-8676-9d241aa8138c:-wx",
    "default:group:e4cded2e-6991-4259-bf4c-b93773b28a57:-wx",
    "default:mask::rwx",
    "default:other::---"
  ],
  "group": "1e682179-6809-4f88-8313-a399302b1b1a",
  "owner": "d494419c-01f7-4cf7-a5a4-142647853aac",
  "permission": "770",
  "stickyBit": false
}