![](https://img.haomeiwen.com/i6626611/b3566e7c2f3ca024.png)
![](https://img.haomeiwen.com/i6626611/ecd78af006f11163.png)
![](https://img.haomeiwen.com/i6626611/29d22dbeb035ad6d.png)
![](https://img.haomeiwen.com/i6626611/acfe1c68f67f0787.png)
![](https://img.haomeiwen.com/i6626611/7ae000972a902ab6.png)
![](https://img.haomeiwen.com/i6626611/aebbeab002bf64b5.png)
![](https://img.haomeiwen.com/i6626611/d2a5c88dd6e4ec3c.png)
![](https://img.haomeiwen.com/i6626611/00bdbec1e1059fae.png)
源码:
# coding: utf-8
# In[1]:
import numpy as np
from pandas import Series,DataFrame
import pandas as pd
# In[2]:
# 索引被用作连接键
left1 =DataFrame({'key':['a','b','a','a','b','c'],'value':range(6)})
print (left1)
# In[3]:
right1 = DataFrame({'group_val':[3.5,7]},index=['a','b'])
print(right1)
# In[4]:
pd.merge(left1,right1,left_on='key',right_index=True)
# In[5]:
# 通过外连接方式求并集
pd.merge(left1,right1,left_on='key',right_index=True,how='outer')
# In[6]:
# 层次化索引
lefth = DataFrame({'key1':['Ohio','Ohio','Ohio','Nevada','Nevada'],
'key2':[2000,2001,2002,2001,2002],
'data':np.arange(5)})
print(lefth)
# In[7]:
righth = DataFrame(np.arange(12).reshape((6,2)),
index=[['Nevada','Nevada','Ohio','Ohio','Ohio','Ohio'],
[2001,2000,2000,2000,2001,2002]],
columns=['event1','event2'])
print(righth)
# In[8]:
# 以列表的形式指明用作合并键的多个列
pd.merge(lefth,righth,left_on=['key1','key2'],right_index=True)
# In[9]:
pd.merge(lefth,righth,left_on=['key1','key2'],right_index=True,how='outer')
# In[10]:
# 合并索引
left2 = DataFrame([[1,2],[3,4],[5,6]],index=['a','c','e'],columns=['Ohio','Nevada'])
print(left2)
# In[11]:
right2 = DataFrame([[7,8],[9,10],[11,12],[13,14]],
index=['b','c','d','e'],columns=['Missour','Alabama'])
print(right2)
# In[12]:
pd.merge(left2,right2,how='outer',left_index=True,right_index=True)
# In[13]:
# 使用join实例方法按索引合并
left2.join(right2,how='outer')
# In[14]:
# join支持参数DataFrame的索引跟调用者DataFrame的某个列之间的连接
left1.join(right1,on='key')
# In[15]:
# 向join传入一组DataFrame实现简单的索引合并
another = DataFrame([[7,8],[9,10],[11,12],[16,17]],
index=['a','c','e','f'],columns=['New York','Oregon'])
left2.join([right2,another])
# In[16]:
left2.join([right2,another],how='outer')
网友评论