Python 3.x 了解如何在'if-then-else'语句中组合'contains``upper`方法,以便使用pandas创建新变量

Python 3.x 了解如何在'if-then-else'语句中组合'contains``upper`方法,以便使用pandas创建新变量,python-3.x,pandas,Python 3.x,Pandas,我有一个pandas数据框,我想在其中创建一个新列,该列组合了其他列的值。 (我用if-then语句来写它,只是为了表示我想要得到什么): 有可能使用熊猫吗? 我希望了解如何将containsupper方法组合到if-then-else语句中,以创建新变量您可以与以下语句一起使用: 使用df=pd.DataFrame({'Url':['a','bb','bz','c']}) Url NEW_VAR 0 a AAA 1 bb BBB 2 bz ZZZ 3 c

我有一个pandas数据框,我想在其中创建一个新列,该列组合了其他列的值。 (我用if-then语句来写它,只是为了表示我想要得到什么):

有可能使用熊猫吗? 我希望了解如何将
contains
upper
方法组合到
if-then-else
语句中,以创建新变量

您可以与以下语句一起使用:

使用
df=pd.DataFrame({'Url':['a','bb','bz','c']})

  Url NEW_VAR
0   a     AAA
1  bb     BBB
2  bz     ZZZ
3   c       C

thx我这么做了,但是我得到了一个关键错误:KeyError:Index([list of my df elements]没有一个在[columns]中它没有创建列什么是
df.columns
的输出?我所有的df列,包括我用于计算代码的Url列,但没有新列'new\u VAR',奇怪的是,如果你有一个名为
'Url'
的列,那么我不理解这个问题。这显然与这个问题无关。请参阅我的工作示例e答案中的数据。
df['NEW_VAR'] = np.select( 
        [df.Url.str.upper().str.contains('A'),
         df.Url.str.upper().str.contains('B') & ~df.Url.str.upper().str.contains('Z'),
         df.Url.str.upper().str.contains('B') & df.Url.str.upper().str.contains('Z')],    
         ['AAA', 'BBB', 'ZZZ'],  
         df.Url.str.upper())
  Url NEW_VAR
0   a     AAA
1  bb     BBB
2  bz     ZZZ
3   c       C