我在研究巨蟒熊猫。我有一个表table_one
,它有name,address,one,two,phone
列。现在one
是foreign_key on two
现在,我希望熊猫在这个外键上做连接,结果数据freame应该给出如下的结果:
输入dta框架
Id name Address one two nuber
1 test | addrs | 1 | 2 | number
2 fert | addrs | 2 | 1 | testnumber
3 dumy | addrs | 3 | 9 | testnumber
外置应是:
将此df
(数据帧)连接到自己,并获取其外键的名称,即两个o/p:获取左表的所有列,而在熊猫中只有右表中的名称表示下一行1:one
是two
上的外键,因此op将是
1 test addrs 1 2 number fert
对于所有用于第1行的方法,one
值1都映射到列two
,第2列的值为two' so take name
for ` in的结果新列的值1。
我试过在下面
pd.merge(df, df, left_on=['one'], right_on=['two'])
但是没有得到所需的结果,它也给出了右表的所有列,但是我只想要name
值和左表的所有库仑。
任何帮助都将不胜感激。
发布于 2017-02-02 07:35:38
在合并前选择必需的列(重命名以避免冲突)
pd.merge(df, df[['two', 'name']].rename(columns={'name', 'for_name'}), left_on=['one'], right_on=['two'])
https://stackoverflow.com/questions/42002105
复制相似问题