我在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
请注意,我还有其他月份和年份以及更多的密钥。
答案 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']})