【发布时间】:2019-06-17 05:35:23
【问题描述】:
考虑到我的起始数据中已经存在的空值,我如何将 NaN 值随机引入我的数据集中的每一列。
我想按列拥有例如 20% 的 NaN 值。
例如:
如果我的数据集中有 3 列:每列的“A”、“B”和“C”我有 NaN 值率我如何按列随机引入 NaN 值以达到每列 20%:
A: 10% nan
B: 15% nan
C: 8% nan
目前我尝试了这段代码,但它降低了我的数据集太多,我认为这不是好方法:
df = df.mask(np.random.choice([True, False], size=df.shape, p=[.20,.80]))
【问题讨论】:
-
但是您提供的代码有效吗?因为如果您已经有现有的
NaN值,您可能会超过每列中所需的 20%。 -
是的,我有现有的 NaN 值,我希望每列中的 20% 不超过或不超过。
-
是的,它工作的代码,但我认为它在数据集中引入了 20%,而不是每列。
标签: python pandas numpy dataframe nan