我有数据集:
id 1 2 3
1 1 0 1
2 1 1 1
3 0 1 1
将零设置为第一行包含 1 的那些列的最快方法是什么,以便输出看起来像这样:
id 1 2 3
1 0 0 0
2 0 1 0
3 0 1 0
请您参考如下方法:
你可以试试:
df.loc[:, df.columns[df.iloc[0].to_numpy(bool)]] = 0
df
输出:
1 2 3
id
1 0 0 0
2 0 1 0
3 0 1 0
使用iloc 选择第一行,然后使用dtype 为boolean 的to_numpy 将这些值转换为numpy 数组。
接下来,使用 loc 在数据框列标题上使用 bool 索引来确定将哪些列的所有值设置为零。
