我需要一些帮助在数据框中形成新变量
我有一个非常大的数据集,我想根据另一列中的现有数据创建一个新变量。
这是一个例子。
>>> df
A B
0 a 1
1 b 2
2 c 3
3 a 5
4 d 6
我想用A中的值a和c创建一个新列,并将其命名为ac,将b和d命名为bd
最终结果应该是这样。从A对它们进行分组,然后在新列中为该组赋予新名称。
>>> df
A B C
0 a 1 ac
1 b 2 bd
2 c 3 ac
3 a 5 ac
4 d 6 bd
/乔纳斯
最佳答案
In [4]: mapper = dict(a = 'ac', b = 'bd', c = 'ac', d = 'bd')
In [5]: df['C'] = [ mapper[x] for x in df['A'] ]
In [6]: df
Out[6]:
A B C
0 a 1 ac
1 b 2 bd
2 c 3 ac
3 a 5 ac
4 d 6 bd