gpt4 book ai didi

python - 使用函数替换空值

转载 作者:太空宇宙 更新时间:2023-11-04 04:25:04 25 4
gpt4 key购买 nike

我有一个看起来像这样的数据框:

import pandas as pd
import numpy as np

d = {'category': [1, 1, 2, 1, 3, 2], 'cost': [33, 33, 18, np.nan, 8, np.nan]}
df = pd.DataFrame(data=d)

category cost
0 1 33.0
1 1 33.0
2 2 18.0
3 1 NaN
4 3 8.0
5 2 NaN

我想根据按类别分组的中位数替换成本列中的 NaN (df[['cost', 'category']].groupby(['category']).median())。因此,在示例中,第一个 NaN(第 3 行)将替换为 33,第二个(第 5 行)将替换为 18。

所以做这样的事情:

df['field'] = df.apply(lambda row: get_median(row), axis=1)

但仅适用于 nan 值

最佳答案

这是一种方法。

df = df.replace(np.nan, df.groupby("category").transform("median"))

您可以将 Series 作为第二个参数传递给 replace。使用 groupby + transform,我们可以确保组中位数与各自的组行对齐。

   category  cost
0 1 33.0
1 1 33.0
2 2 18.0
3 1 33.0
4 3 8.0

关于python - 使用函数替换空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53659184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com