根据Python中的其他变量更改变量

时间:2018-08-23 13:56:18

标签: python pandas if-statement dataframe conditional-statements

我有一个名为df的以下数据框,其中包含一个名为Category的变量。我想用以下提到的值在Python中创建new_variable。我该怎么办?

df = pd.DataFrame({
    'Category': [
        'Foreign Stocks', 'Stocks China', 'Stocks',
        'Bonds', 'Bonds USA', 'Bonds India'
    ],
    'New_Variable': [
        'Stocks', 'Stocks', 'Stocks',
        'Bonds', 'Bonds', 'Bonds'
    ]
})

df

         Category New_Variable
0  Foreign Stocks       Stocks
1    Stocks China       Stocks
2          Stocks       Stocks
3           Bonds        Bonds
4       Bonds USA        Bonds
5     Bonds India        Bonds

也许是我无法将其他类似的答案翻译成我的解决方案,但我无法在其他地方找到相同的问题。

/乔纳斯(Jonas)

1 个答案:

答案 0 :(得分:0)

pandas.Series.str.extract

df.assign(New_Variable=df.Category.str.extract('(Bonds|Stocks)'))

         Category New_Variable
0  Foreign Stocks       Stocks
1    Stocks China       Stocks
2          Stocks       Stocks
3           Bonds        Bonds
4       Bonds USA        Bonds
5     Bonds India        Bonds