我有一个pandas DataFrame,如下所示。
custom:
foo: ${ssm:foo}
我想使用Serverless Warning --------------------------------------
A valid SSM parameter to satisfy the declaration 'ssm:foo' could not be found.
来转发填充df = pd.DataFrame({
'date': ['2011-01-01', '2011-01-01', '2011-02-01', '2011-02-01', '2011-03-01', '2011-03-01', '2011-04-01', '2011-04-01'],
'category': [1, 2, 1, 2, 1, 2, 1, 2],
'rate': [0.5, 0.75, np.nan, np.nan, 1, 1.25, np.nan, np.nan]
})
的值,但我希望每个值也与相应的ffill
相对应。如何让rate
看起来像这样?:
category
答案 0 :(得分:2)
使用groupby
:
df.groupby('category').ffill()
输出:
category date rate
0 1 2011-01-01 0.50
1 2 2011-01-01 0.75
2 1 2011-02-01 0.50
3 2 2011-02-01 0.75
4 1 2011-03-01 1.00
5 2 2011-03-01 1.25
6 1 2011-04-01 1.00
7 2 2011-04-01 1.25
如果您有其他不希望填充NaN的列,那么您可以使用它来在费率列中填充NaN:
df['rate'] = df.groupby('category')['rate'].ffill()