我想替换随机数列“较低置信区间”中的空值(它必须是或同一列的最小值和或最大值)。我试过这个,但不起作用。我错过了什么
minimo = np.nanmin(df_copy['Lower Confidence Interval'])
maximo = np.nanmax(df_copy['Lower Confidence Interval'])
import random
for value in df['Lower Confidence Interval']:
if value == 0:
value.fill_na(np.random.choice([minimo, maximo])
导入模块:
创建示例数据
计算NAN的数量
用最小值、最大值随机替换NAN:
我建议使用lambda函数的映射
如果您对此不熟悉,基本上可以转换为以下伪代码:
错误在于,当您迭代每个值时,它们是
float
而不是dataframe对象,因此fill_na
将无法对其工作。我使用了与您的问题相同的想法,并创建了一个pandas lambda函数:输出:
其余代码如下:
替换列的最小值和最大值后,输出为:
相关问题 更多 >
编程相关推荐