我想检查某些列(大约 5 或 6 个),如果所有列都为空,请将另一列has_nan从更改0为1。我知道如何过滤/屏蔽,但是在使用时loc我得到了可怕的SettingWithCopyWarning.
这是一个小例子来说明,不完全相同,但它突出了问题:
df = pd.DataFrame([np.random.randint(0,100,3), np.random.randint(0,100,3),
np.random.randint(0,100,3), np.random.randint(0,100,3)],
columns=['foo', 'bar', 'has_nan'])
for i in ['use_1', 'use_2']:
df[i] = 2 * ['5'] + 2 * [np.nan]
df.loc[df.use_1.isna() & df.use_2.isna()]['has_nan'] = 'yes'
陪伴而非守候
弑天下
相关分类