鉴于Pandas数据框中有一些标记系列,请说 Name 和 Villain 。
假设数据框的值如下:
姓名:{'蝙蝠侠','蝙蝠侠''蜘蛛侠'蜘蛛侠''蜘蛛侠'蜘蛛侠'}
恶棍:{' Joker',' Bane',' Green Goblin'' Electro',&#39 ;毒液',' Octopus博士'}
以上数据框总共有2个系列(或列),每个系列有6个数据点。
现在,根据 Name ,我想连接3个列: FirstName,LastName,LoveInterest 到每个数据点。
其结果增加了布鲁斯;韦恩;猫女'到名为蝙蝠侠的每一行。和彼得;帕克; MaryJane'到名为蜘蛛侠的每一行。
最终结果应该是一个包含5列(系列)和每行6行的数据帧。
答案 0 :(得分:2)
这是一种经典的内连接方案。在pandas
中,使用merge
模块级函数:
In [13]: df1
Out[13]:
Name Villain
0 Batman Joker
1 Batman Bane
2 Spiderman Green Goblin
3 Spiderman Electro
4 Spiderman Venom
5 Spiderman Dr. Octopus
In [14]: df2
Out[14]:
FirstName LastName LoveInterest Name
0 Bruce Wayne Catwoman Batman
1 Peter Parker MaryJane Spiderman
In [15]: pd.DataFrame.merge(df1,df2,on='Name')
Out[15]:
Name Villain FirstName LastName LoveInterest
0 Batman Joker Bruce Wayne Catwoman
1 Batman Bane Bruce Wayne Catwoman
2 Spiderman Green Goblin Peter Parker MaryJane
3 Spiderman Electro Peter Parker MaryJane
4 Spiderman Venom Peter Parker MaryJane
5 Spiderman Dr. Octopus Peter Parker MaryJane