Mat*_*ias 6 python dataframe pandas
我有一个包含大量列的DataFrame.现在我有条件测试其中一些列,如果任何列集不同于零.代码看起来很难看,我想知道是否有更优雅的方法将该条件应用于列的子集?我目前的代码是:
df['indicator'] = (
(df['col_1'] != 0) |
(df['col_2'] != 0) |
(df['col_3'] != 0) |
(df['col_4'] != 0) |
(df['col_5'] != 0)
)
Run Code Online (Sandbox Code Playgroud)
我正在寻找像这样的伪代码:
columns = ['col_1', 'col_1', 'col_2', 'col_3', 'col_4', 'col_5']
df['indicator'] = df.any(columns, lambda value: value != 0)
Run Code Online (Sandbox Code Playgroud)
ne是方法的形式!=.我使用它,以便流水线any看起来更好.我any(axis=1)用来查找连续是否为真.
df['indicator'] = df[columns].ne(0).any(axis=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2404 次 |
| 最近记录: |