gpt4 book ai didi

python - 随机清空数据框中值的最有效方法

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

考虑df

df = pd.DataFrame(np.ones((10, 10)) * 2,
list('abcdefghij'), list('ABCDEFGHIJ'))
df

enter image description here

我怎样才能随机取消大约 20% 的这些值?

enter image description here

最佳答案

你可以使用 numpy.random.choice生成 mask :

import numpy as np

mask = np.random.choice([True, False], size=df.shape, p=[.2,.8])

df.mask(mask)

一行:

df.mask(np.random.choice([True, False], size=df.shape, p=[.2,.8]))

使用 timeit 测试的速度约为 770μs:

>>> python -m timeit -n 10000 
-s "import pandas as pd;import numpy as np;df=pd.DataFrame(np.ones((10,10))*2)"
"df.mask(np.random.choice([True,False], size=df.shape, p=[.2,.8]))"
10000 loops, best of 3: 770 usec per loop

关于python - 随机清空数据框中值的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40224814/

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