熊猫,如果值在列中,则更改为另一列

时间:2019-11-27 14:48:01

标签: python pandas

我想做的:如果一列包含值,然后对joinkey列应用更改,如果一列包含不同的值,然后对joinkey列应用不同的更改,等等。

如果df.loc[df['product'].isin('value1','value2')然后df['joinkey'] = df['joinkey'] + variable1

然后重复

如果df.loc[df['product'].isin('value3','value4')然后df['joinkey'] = df['joinkey'] + variable2

希望这是有道理的,任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:3)

您可以尝试使用np.where()作为该列,也许它将需要多行代码。

import pandas as pd
import numpy as np
df['joinkey'] = np.where(df['product'].isin(['value1','value2']),df['joinkey']+variable1,df['joinkey'])
df['joinkey'] = np.where(df['product'].isin(['value3','value4']),df['joinkey']+variable2,df['joinkey'])

我将false的条件设置为等于joinkey的原始值,但是您当然可以更改它以最适合您的需求。