在熊猫中使用正则表达式仅替换特定列上的列值

s_khan92

我想替换特定列的值。我可以一个一个地更改值,但是,我有数百个列,并且需要从特定字符串开始更改列。这是一个示例,我想在列名以开头时替换字符串"Q14"

df.filter(regex = 'Q14').replace(1, 'Selected').replace(0, 'Not selected')

上面的代码正在工作。但是,如何在我的系统中实现它dataframe因为这是函数,所以我不能就地使用。

Mayank porwal

考虑以下df

In [439]: df = pd.DataFrame({'Q14_A':[ 1,0,0,2], 'Q14_B':[0,1,1,2], 'Q12_A':[1,0,0,0]})

In [440]: df
Out[440]: 
   Q14_A  Q14_B  Q12_A
0      1      0      1
1      0      1      0
2      0      1      0
3      2      2      0

过滤以开头的列Q14,将其保存在变量中:

In [443]: cols = df.filter(regex='^Q14').columns

现在,使用replace命令更改上面选择的列

In [446]: df[cols] = df[cols].replace(1, 'Selected').replace(0, 'Not selected')

输出:

In [447]: df
Out[447]: 
          Q14_A         Q14_B  Q12_A
0      Selected  Not selected      1
1  Not selected      Selected      0
2  Not selected      Selected      0
3             2             2      0

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在熊猫数据框中使用正则表达式替换列值

熊猫使用正则表达式替换值

如何使用正则表达式和条件替换熊猫列中的值

使用正则表达式熊猫调用特定列

正则表达式在熊猫列上创建新列

在熊猫中使用正则表达式提取列中的特定部分

根据使用正则表达式获得的匹配结果,替换另一列上的值(Python Pandas)

如何在grep中使用正则表达式(仅基本正则表达式)实现替换?

在熊猫数据框替换功能中使用正则表达式匹配的组

如何在熊猫替换功能中使用正则表达式捕获组

如何在熊猫系列中使用选择性正则表达式执行替换?

如何在熊猫中使用正则表达式替换多个整数值

如何在Java中使用正则表达式从定界字符串中仅提取特定类型的值

如何在熊猫中使用正则表达式掩盖具有某些nan值的列?

在熊猫的正则表达式中使用列名

在熊猫中使用正则表达式的多种模式

如何在熊猫中使用正则表达式?

在Powershell脚本中使用正则表达式替换键/值标签的值

在Python中使用正则表达式替换括号

在 JavaScript 中使用正则表达式替换

在 PowerShell 中使用正则表达式替换

在ansible中使用正则表达式替换单词

使用正则表达式替换特定模式

如何在R中使用正则表达式仅获取特定数据?

正则表达式替换值

在记事本++中使用正则表达式替换的字符串值

在Java中使用正则表达式替换多个值

如何在NiFi中使用正则表达式查找和替换值?

如何在Ant中使用正则表达式替换xml标记之间的值?