我有以下数据框:
df=pd.DataFrame([[1,11,'a'],[2,12,'b'],[1,11,'c'],[3,12,'d'],[3,7,'e'],
[2,12,'f']])
df.columns=['id','code','name']
print(df)
id code name
0 1 11 a
1 2 12 b
2 1 11 c
3 3 12 d
4 3 7 e
5 2 12 f
Run Code Online (Sandbox Code Playgroud)
对于上面的数据帧,我想只有列'name'的一个值,用于任何唯一的column id和code.对于eq,name行0和2应该相同.而且,name行1和5也应该相同.
id code name
0 1 11 a
1 2 12 b
2 1 11 a
3 3 12 d
4 3 7 e
5 2 12 b
Run Code Online (Sandbox Code Playgroud)
请让我知道如何以编程方式完成此操作.我有两个超过100000行进行此操作.
谢谢
让我们使用groupby,transform以及first:
df.assign(name=df.groupby(['id','code'])['name'].transform('first'))
Run Code Online (Sandbox Code Playgroud)
输出:
id code name
0 1 11 a
1 2 12 b
2 1 11 a
3 3 12 d
4 3 7 e
5 2 12 b
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |