gpt4 book ai didi

python - Pandas 随机用 NaN 替换值

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

我正在测试机器学习算法的性能,特别是它如何处理缺失数据,以及当变量缺失时会出现什么样的性能下降。

例如,当缺少 20% 的变量 x 时,模型的准确度会下降一定百分比。为此,我想通过替换数据框列中 20% 的行来模拟丢失的数据。

有现成的方法吗?

开始 df:

d = {'var1': [1, 2, 3, 4], 'var2': [5, 6, 7, 8]}
df = pd.DataFrame(data=d)
df
var1 var2
0 1 5
1 2 6
2 3 7
3 4 8

最终结果:随机丢弃列 'var1' 的 50%

df
var1 var2
0 nan 5
1 2 6
2 nan 7
3 4 8

最佳答案

使用 sample 重新分配方法,由于自动对齐,pandas 将引入 NaN 值:

df['var1'] = df['var1'].sample(frac=0.5)

交互方式:

In [1]: import pandas as pd
...: d = {'var1': [1, 2, 3, 4], 'var2': [5, 6, 7, 8]}
...: df = pd.DataFrame(data=d)
...: df
...:
Out[1]:
var1 var2
0 1 5
1 2 6
2 3 7
3 4 8

In [2]: df['var1'] = df['var1'].sample(frac=0.5)

In [3]: df
Out[3]:
var1 var2
0 1.0 5
1 NaN 6
2 3.0 7
3 NaN 8

关于python - Pandas 随机用 NaN 替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55149738/

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