Python 3.x 了解如何在'if-then-else'语句中组合'contains``upper`方法,以便使用pandas创建新变量
我有一个pandas数据框,我想在其中创建一个新列,该列组合了其他列的值。 (我用if-then语句来写它,只是为了表示我想要得到什么): 有可能使用熊猫吗? 我希望了解如何将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
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