Skip to main content
 首页 » 编程设计

python之将零设置为第一行包含一个的那些列

2025年05月04日15飞鱼

我有数据集:

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 索引来确定将哪些列的所有值设置为零。