合并 pandas 列(多对一)
Merging pandas columns (many-to-one)
我有两个数据框:
df1
ID
1
2
3
4
5
6
7
8
9
10
df2:
Name Count
raj 2
dinesh 3
sachin 3
glen 2
现在我想创建第三个数据框,父数据框为 df1,第二列插入为 "Owner",2 行分配给 raj,3 行分配给 dinesh,3 行分配给 sachin,2 行分配给 glen。第三个 datframe 将如下所示:
df3:
ID Owner
1 raj
2 raj
3 dinesh
4 dinesh
5 dinesh
6 sachin
7 sachin
8 sachin
9 glen
10 glen
非常感谢你的帮助。
您似乎需要 numpy.repeat
,但所有 Count
值的总和必须与 df1
的长度相同:
df1['Owner'] = np.repeat(df2['Name'].values, df2['Count'].values)
print (df1)
ID Owner
0 1 raj
1 2 raj
2 3 dinesh
3 4 dinesh
4 5 dinesh
5 6 sachin
6 7 sachin
7 8 sachin
8 9 glen
9 10 glen
我有两个数据框:
df1
ID
1
2
3
4
5
6
7
8
9
10
df2:
Name Count
raj 2
dinesh 3
sachin 3
glen 2
现在我想创建第三个数据框,父数据框为 df1,第二列插入为 "Owner",2 行分配给 raj,3 行分配给 dinesh,3 行分配给 sachin,2 行分配给 glen。第三个 datframe 将如下所示:
df3:
ID Owner
1 raj
2 raj
3 dinesh
4 dinesh
5 dinesh
6 sachin
7 sachin
8 sachin
9 glen
10 glen
非常感谢你的帮助。
您似乎需要 numpy.repeat
,但所有 Count
值的总和必须与 df1
的长度相同:
df1['Owner'] = np.repeat(df2['Name'].values, df2['Count'].values)
print (df1)
ID Owner
0 1 raj
1 2 raj
2 3 dinesh
3 4 dinesh
4 5 dinesh
5 6 sachin
6 7 sachin
7 8 sachin
8 9 glen
9 10 glen