基于Python中的其他变量更改变量

基于Python中的其他变量更改变量,python,pandas,if-statement,dataframe,conditional-statements,Python,Pandas,If Statement,Dataframe,Conditional Statements,我有一个名为df的数据框架,其中包含一个名为Category的变量。我想在Python中用下面提到的值创建新的_变量。我该怎么办 df = pd.DataFrame({ 'Category': [ 'Foreign Stocks', 'Stocks China', 'Stocks', 'Bonds', 'Bonds USA', 'Bonds India' ], 'New_Variable': [ 'Stocks', 'Sto

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

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
也许是我无法将其他类似的答案转化为我的解决方案,但我在其他地方找不到同样的问题

/乔纳斯

pandas.Series.str.extract

嗨,乔纳斯。欢迎来到Stackoverflow!这个问题没有给我们提供足够的信息,你的措辞令人困惑。您可能没有意识到这一点,可能需要一些指导。请阅读以获得更好的想法。你可以随时回来问你的问题。基本要点是,我们希望看到一个数据、口头逻辑和期望的示例。此外,将您的问题标记为重复并不是什么大问题。如果是重复的,那么您应该能够从标记为dup目标的问题中获得答案。如果不是,就说出来。我个人认为你的问题不够清楚,无法判断它是否重复。请仔细考虑一下,以便澄清。如果它仍然是一个dup,那么就这样吧。否则,如果合适,我们将删除dup。感谢您的评论。我试图重新表述我的问题。现在有意义了吗?@piRSquared-我同意,所以重新打开。是的,它更清晰了。这可能仍然是个骗局。我正在寻找一个,但你应该在下面有一些帮助。我找到了。非常感谢。我经常使用
assign
,因为它会创建数据帧的新副本。根据我所写的,您可以重新分配到名称
df
。。。因此
df=df.assign(New_Variable=df.Category.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