根据另一列中的条件填充熊猫

高拉夫·班萨(Gaurav Bansal):

我有一个熊猫DataFrame,如下所示。

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我如何df看起来像这样?:

df
    category    date    rate
    1     2011-01-01    0.50
    2     2011-01-01    0.75
    1     2011-02-01    0.50
    2     2011-02-01    0.75
    1     2011-03-01    1.00
    2     2011-03-01    1.25
    1     2011-04-01    1.00
    2     2011-04-01    1.25
斯科特·波士顿(Scott Boston):

用途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填充的列,则可以使用它在rate列中填充NaN:

df['rate'] = df.groupby('category')['rate'].ffill()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据另一列中的条件在上方和下方填充空白单元格

在熊猫中填充另一列中某一列的缺失值

熊猫根据另一列中的值替换值

根据另一列中的条件填充多个数据框列

根据PySpark中的另一列填充不同的列

熊猫根据选择为条件的另一列中的值创建一列

根据来自另一列的信息用熊猫填充一个空列

根据另一列填充熊猫列

根据另一列值向前填充熊猫

根据另一列的条件创建熊猫列

如何根据另一列中的值填充列?

如何根据熊猫另一列中的条件生成具有值的新列

熊猫:根据另一列中的条件更改该列的先前单元格值

如何根据另一列中的间隔填充熊猫中其他列的缺失值?

根据条件在熊猫数据框中创建一列

在熊猫中,如何从一列中的唯一值中创建列,然后根据另一列中的值填充它?

如何根据另一列中的值填充另一列中的值?

根据条件填充另一列(熊猫)的空值

熊猫,根据条件在另一列中搜索结果

根据SQL中的另一列填充列

用另一列的条件填充一列并移动熊猫中的值

熊猫根据条件将一列映射到另一列

根据熊猫数据框中另一列的最后一个值填充列

Python熊猫根据另一列的条件填充缺失值(NaN)

如何根据条件在熊猫中创建另一列?

根据 R 中另一列的条件,用相同的值填充整个新列

如何根据另一列中满足的条件在熊猫数据框中添加新列?

熊猫根据另一列的条件重置 cumsum()

如何根据 Pandas 数据框中另一列的条件将值填充到新列中?