如何使用熊猫将一列移动到除标题之外的另一列[重复]

Posted

技术标签:

【中文标题】如何使用熊猫将一列移动到除标题之外的另一列[重复]【英文标题】:How to move one columns to other column except header using pandas [duplicate] 【发布时间】:2019-11-17 04:16:20 【问题描述】:

我需要在我的脚本中添加以下功能

下面是excel:

Name    Value1  Value2  PASS/FAIL

Name1     10     0       FAIL

Name2     20     5       PASS

Name3     30     0       FAIL

Name4     40     0       FAIL

Name5     50     0       FAIL

我需要在“PASS/FAIL”列中搜索 PASS 字符串。 如果存在“PASS”字符串,我需要将 Value1 移动到 Value2 并将 Value1 列更新为“0”。

感谢任何帮助。

提前致谢。

【问题讨论】:

使用mask= df['PASS/FAIL'] == 'PASS'df['Value2'] = np.where(mask, df['Value1'], df['Value2'])df['Value1'] = np.where(mask, 0, df['Value1']) 或者您可以创建一个二维数组,例如:s=np.column_stack((np.where(m,0,df.Value1),df.Value1.values)),然后使用 df[['Value1','Value2']]=df[['Value1','Value2']].mask(m,s) @MohitMotwani 找到另一种方法。 :) 【参考方案1】:

检查这部分代码:

df['value2']=df['value1'] if df['PASS/FAIL']==PASS
df['value1'] = 0 if df['PASS/FAIL']==PASS

【讨论】:

以上是关于如何使用熊猫将一列移动到除标题之外的另一列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

熊猫:从数据透视表中的另一列中减去一列

将一列中子组的最大值与 R 中的另一列相关联

如何根据另一列值将一列分成多个?

使用 dplyr [重复] 有条件地将一列中的值替换为另一列中的值

将一列的多个结果行连接成一个,按另一列分组[重复]

熊猫:设置列等于另一列的分组总和[重复]