Python Pandas如果B列中的值= [X,Y,Z]则将A列替换为"T". [英] Python Pandas If value in column B = equals [X, Y, Z] replace column A with "T"

查看:398
本文介绍了Python Pandas如果B列中的值= [X,Y,Z]则将A列替换为"T".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

说我有这个数组:

A, B
1, G
2, X
3, F
4, Z
5, I

如果B列等于[X,Y或Z],则将A列替换为"T"

If column B equals [X, Y or Z] replace column A with value "T"

我已经找到了如何在同一列中而不是跨列中更改值,我们将不胜感激.

I've found how to change values within the same column but not across, any help would be most appreciated.

推荐答案

您可以尝试以下操作:

import pandas as pd
df = pd.DataFrame({
        'A': [1, 2, 3, 4, 5],
        'B': ['G', 'X', 'F', 'Z', 'I']
     })
df.ix[df.B.isin(['X','Y','Z']), 'A'] = 'T'
print df

输出:

   A  B
0  1  G
1  T  X
2  3  F
3  T  Z
4  5  I

请记住使用ixloc以避免在复制的切片上设置值.

Remember to use ix or loc to avoid setting values on a copied slice.

这篇关于Python Pandas如果B列中的值= [X,Y,Z]则将A列替换为"T".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆