gpt4 book ai didi

python - 如何根据其他列的值估算 NaN 值?

转载 作者:太空狗 更新时间:2023-10-30 01:11:20 25 4
gpt4 key购买 nike

数据框中有两列

1)工作经验(年)

2)公司类型

我想根据工作经验列估算 company_type 列。 company_type 列有我想根据工作经验列填写的 NaN 值。工作经验栏没有任何缺失值。

这里 work_exp 是数值数据,company_type 是分类数据。

示例数据:

Work_exp      company_type
10 PvtLtd
0.5 startup
6 Public Sector
8 NaN
1 startup
9 PvtLtd
4 NaN
3 Public Sector
2 startup
0 NaN

我已经决定了输入 NaN 值的阈值。

Startup if work_exp < 2yrs
Public sector if work_exp > 2yrs and <8yrs
PvtLtd if work_exp >8yrs

根据上述阈值标准,我如何估算列 company_type 中缺失的分类值。

最佳答案

您可以将 numpy.selectnumpy.where 一起使用:

# define conditions and values
conditions = [df['Work_exp'] < 2, df['Work_exp'].between(2, 8), df['Work_exp'] > 8]
values = ['Startup', 'PublicSector', 'PvtLtd']

# apply logic where company_type is null
df['company_type'] = np.where(df['company_type'].isnull(),
np.select(conditions, values),
df['company_type'])

print(df)

Work_exp company_type
0 10.0 PvtLtd
1 0.5 startup
2 6.0 PublicSector
3 8.0 PublicSector
4 1.0 startup
5 9.0 PvtLtd
6 4.0 PublicSector
7 3.0 PublicSector
8 2.0 startup
9 0.0 Startup

pd.Series.between默认情况下包括起始值和结束值,并允许在 float 值之间进行比较。使用 inclusive=False 参数来省略边界。

s = pd.Series([2, 2.5, 4, 4.5, 5])

s.between(2, 4.5)

0 True
1 True
2 True
3 True
4 False
dtype: bool

关于python - 如何根据其他列的值估算 NaN 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51426255/

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