根据连续多个其他字段中的条件更改某些字段的值

尼克W

我有一个具有如下通用结构的 DataFrame:

   60   700  701    702
0    1   40   40      1
1   40   40    1  10000
2   15   40   40  10000
3    1   40   40  10000

有更多的列(编号从 1 到 1500 左右)和行,但这抓住了本质。我有一个 col_list,在这个例子中col_list= [700, 701, 702]现在,如果满足以下条件,我想将某些字段设置为值 1:

  • 只有列号属于 col_list 的所有字段的值都为 40 或 10000 的行。
  • 只有列号属于 col_list 的字段。
  • 只有值为 40 的字段。

所以结果应该是这样的:

   60   700  701    702
0    1   40   40      1
1   40   40    1  10000
2   15    1    1  10000
3    1    1    1  10000

我找到了一种笨拙的方法来使用 iterrows,但我真的希望有一种更有效和 Pythonic 的方法。

阿努拉格·达巴斯

IUC:

尝试通过locisin()replace()

m=df[example].isin([10000,40]).all(1)
df.loc[m,example]=df.loc[m,example].replace(40,1)

注意:如果列的类型为字符串,确保列的类型为 int,然后使用:

df.columns=[int(x) for x in df]
#df.columns=[int(x) if str(x).isnumeric() else x for x in df.columns]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据其他字段的值更改字段的值

根据其他字段中的条件隐藏SharePoint中的字段

如何根据其他形式的odoo中的布尔字段更改布尔字段值?

根据其他列的值动态更改字段/列名称

Lighthouse 根据其他属性值更改字段值

如何更改表格中表格的某些字段以显示其他表格中的其他字段?

检查多个对象是否在java中具有相同的字段值并根据其他字段删除重复项

根据其他字段值设置字段值

根据其他列中的多个条件创建列值

根据正在更改的其他字段更新字段

根据TSQL中的某些条件连接字段

根据对表单中其他字段的输入来更改WTForm字段

从其他模型更改字段值

Mongodb-根据其他字段值添加额外的字段

Symfony4-根据其他字段的值验证字段

如何使用javascript根据html中其他字段的值填充表单字段

如果其他行在不同字段中具有相同的值,则更改行中的字段

根据其他列的某些条件,使用其他行中的值更新某些行中的值

基于Symfony2中其他字段值的字段的条件验证

根据连续值连接字段

蜂巢-选择ID,该ID在连续时间戳中其他字段的值将递增

根据其他两个输入来更改文本字段的输入值

隐藏字段更改中的其他字段-Suite Script 2.0

根据其他列中的条件替换pandas列中的某些特定值

如何根据不同条件从其他表中选择字段

根据其他字段的总和计算字段

根据字段数添加其他字段

根据某些条件,用其他列中的值替换NaN

使用文档中其他字段的值修改字段