Python 按另一列的条目分组后命名一列的条目

Python 按另一列的条目分组后命名一列的条目,python,python-2.7,pandas,Python,Python 2.7,Pandas,我有以下数据帧: In [52]: df = pd.DataFrame({'orderNr':[1,2,3,4,5],'customer':['name2','name2','name1','name3','name3']}) In [53]: df Out[53]: customer orderNr 0 name2 1 1 name2 2 2 name1 3 3 name3 4 4 name3

我有以下数据帧:

In [52]: df = pd.DataFrame({'orderNr':[1,2,3,4,5],'customer':['name2','name2','name1','name3','name3']})

In [53]: df
Out[53]: 
  customer  orderNr
0    name2        1
1    name2        2
2    name1        3
3    name3        4
4    name3        5
我希望根据下订单的客户对orderNr进行分组,然后相应地更改orderNr值,如下所示:

   customer      orderNr
 0    name2        name2
 1    name1        name1
 2    name3        name3
我想我可以这样做:

def f(group):
    group.orderNr = group.name
    return group

df.groupby('customer' ,as_index = False)['orderNr'].apply(f)
但这似乎不起作用。另外,我觉得应该有一种更优雅的方法来使用pandas.map()方法。 如果我能用映射实现一些东西

customer_map={"name1":1,"name2":2,"name3":3}

那太好了。然后我可以将orderNr保存为整数。

为什么不干脆
df['orderNr']=df.customer
?当然!看到这一点,我也意识到我想做的是不明智的,因为我将在两列中得到完全相同的信息。非常感谢。