首页 > 解决方案 > 如何使用条件函数更改多个列,其他列接收数字 0

问题描述

我有个问题。5 列具有可变类型(第 2 到 6 列)。如果这些主要列 = 0,我需要相应的列(8 到 12)分别看到 0。

df.loc[df['CHT-05'] == 0, 'P CHT-05'] = 0
df.loc[df['CHT-07'] == 0, 'P CHT-07'] = 0
df.loc[df['CHT-09'] == 0, 'P CHT-09'] = 0
df.loc[df['BFR-01'] == 0, 'P BFR-01'] = 0
df.loc[df['JUB-45'] == 0, 'P JUB-45'] = 0

标签: pythonpandasfor-looppandas-loc

解决方案


也许你应该尝试类似:

# your (hardcoded) list 
your_list = ['CHT-05','CHT-07','CHT-09','BFR-01','JUB-45']

for n in your_list:
    df.loc[df[n] == 0, 'P '+str(n)] = 0

推荐阅读