Python数据框在另一列中为每个值添加日期

时间:2020-10-06 13:59:12

标签: python pandas dataframe date datetime

我在Python中具有以下数据框:

   Date        Key
0  2020-01-01  AB
1  2020-01-05  AC
2  2020-01-09  AB
3  2020-01-10  AD

每个日期键组合都是唯一的。这意味着,例如,数据帧中没有其他(2020-01-01,AB)对。 此外,数据框还按日期排序。

我想要的是为每个键填写其余的日期,这样所需的结果应该是:

   Date        Key
0  2020-01-01  AB
1  2020-01-02  AB
...
30 2020-01-31  AB
31 2020-01-01  AC
...
61 2020-01-31  AC
62 2020-01-01  AD
...
92 2020-01-31  AD

或类似这样:

    Date        Key
0   2020-01-01  AB
1   2020-01-01  AC
2   2020-01-01  AD
3   2020-01-02  AB
4   2020-01-02  AC
5   2020-01-02  AD
...
90  2020-01-31  AB
91  2020-01-31  AC
92  2020-01-31  AD

请注意,我还有其他月份和年份以及更多的密钥。

1 个答案:

答案 0 :(得分:0)

尝试一下

N = df['key'].eq('AB').sum()
df = df.sort_values('key').groupby('key').head(N)

如果您可以提供这样的数据框,则将易于理解和处理

df = pd.DataFrame({"X1": ["A", "B", "A", "B", "B","C","C","C"],"X2": ['FOO','BAR' ,'FOO1', 'BAR1', 'FOO2','BAR2','FOO3','BAR3']})