Pandas 有条件地设置多列上的值

Pandas 有条件地设置多列上的值,pandas,Pandas,我有一组列,将组件反映到另一列。当该列为负数时,我需要将其归零。我还需要将所有组件列归零。我该怎么做 filter_col=[t18_df中的col的col,如果col.startswith('aum')] t18_df.loc[t18_df['AUM']

我有一组列,将组件反映到另一列。当该列为负数时,我需要将其归零。我还需要将所有组件列归零。我该怎么做

filter_col=[t18_df中的col的col,如果col.startswith('aum')]
t18_df.loc[t18_df['AUM']<0]#这些行应仅在过滤器列上具有零值

您只需将
过滤器\u col
传递到
loc

filter_col = [col for col in t18_df if col.startswith('aum_')]

# zero out filter_col
t18_df.loc[t18_df['AUM'] < 0, filter_col] = 0

# zero out AUM itself
t18_df.loc[t18_df['AUM'] < 0, 'AUM'] = 0
# also
# t18_df['AUM'] = t18_df['AUM'].clip(0)
filter_col=[t18_df中的col的col,如果col.startswith('aum')]
#调零滤波器
t18测向定位[t18测向['AUM']<0,滤波列]=0
#把奥姆本身归零
t18_-df.loc[t18_-df['AUM']<0,'AUM']=0
#也
#t18_-df['AUM']=t18_-df['AUM'].剪辑(0)

您只需将
过滤器\u col
传递到
loc

filter_col = [col for col in t18_df if col.startswith('aum_')]

# zero out filter_col
t18_df.loc[t18_df['AUM'] < 0, filter_col] = 0

# zero out AUM itself
t18_df.loc[t18_df['AUM'] < 0, 'AUM'] = 0
# also
# t18_df['AUM'] = t18_df['AUM'].clip(0)
filter_col=[如果col.startswith('aum'),则t18_df中的col的col值]
#调零滤波器
t18测向定位[t18测向['AUM']<0,滤波列]=0
#把奥姆本身归零
t18_-df.loc[t18_-df['AUM']<0,'AUM']=0
#也
#t18_-df['AUM']=t18_-df['AUM'].剪辑(0)