码迷,mamicode.com
首页 > 数据库 > 详细

mysql基础(5)-关联

时间:2016-07-29 17:03:51      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

表关联类型
内连接
  • 仅显示满足条件的行
  • From T1,T2 where T1.ID=T2.ID
  • From T1 inner join T2 ON T1.ID=T2.ID
左连接
  • 显示左表T1中的所有行,并把右表T2中符合条件加到左表T1中
  • From T1 left out join T2 ON T1.ID=T2.ID
右连接
  • 显示右表T1中的所有行,并把左表T1中符合条件加到右表T2中
  • From T1 right outer join T2 ON T1.ID=T2.ID
全连接
  • 显示左表T1,右表T2两边中的所有行,即把左联结果表+右联结果表组合在一起,然后过滤掉重复的
  • From T1 full outer join T2 ON T1.ID=T2.ID
 
文件关联类型
文件导入
  • data=pd.read_csv(/path/inputfile) #读取数据
  • df=DataFrame(data) #转换为dataframe格式
内连接
  • df3=pd.merge(df1,df2,on=‘key‘)
  • df4=pd.merge(df1,df2,on=‘key‘,how=‘inner‘)
左连接
df_l=pd.merge(df1,df2,on=‘key‘,how=‘left‘)
右连接
df_r=pd.merge(df1,df2,on=‘key‘,how=‘right‘)
全连接
df_a=pd.merge(df1,df2,on=‘key‘,how=‘outer‘)
 
 
实例
内连接:mysql> select * from stud_info T1 , stud_score T2 where T1.stud_code=T2.stud_code;
内连接:mysql> select * from stud_info T1 inner join stud_score T2 on T1.stud_code=T2.stud_code;
左连接:mysql> select * from stud_info T1 left outer join stud_score T2 on T1.stud_code=T2.stud_code;
右连接:mysql> select * from stud_info T1 right outer join stud_score T2 on T1.stud_code=T2.stud_code;
 
 
文件关联
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: from pandas import DataFrame
In [4]: df1=DataFrame({‘key‘:[‘a‘,‘a‘,‘b‘,‘c‘,‘c‘],‘data1‘:range(5)})
In [5]: df2=DataFrame({‘key‘:[‘a‘,‘b‘,‘d‘],‘data1‘:range(3)})
技术分享
内连接【三种方式】
In [8]: df3=pd.merge(df1,df2,on=‘key‘) #把符合条件的行取出来
In [10]: df4=pd.merge(df1,df2,on=‘key‘,how=‘inner‘)
In [12]: df5=pd.merge(df1,df2,left_on="key",right_on="key",how="inner")
技术分享
 
左连接
In [14]: df_l=pd.merge(df1,df2,on="key",how=‘left‘)
技术分享
 
右连接
 In [16]: df_r=pd.merge(df1,df2,on="key",how=‘right‘)
 技术分享
 
 全连接
In [18]: df6=pd.merge(df1,df2,on=‘key‘,how=‘outer‘)
技术分享
 
In [21]: df7=pd.merge(df1,df2,on=‘key‘,how=‘inner‘,suffixes=[‘_left‘,‘_right‘])
注释:两个表结构相同的字段,自动添加后缀_x,-y,也可自定义后缀,通过suffixes=(‘_left‘,‘_right‘)
技术分享
 
选择数据
In [24]: df7=df6[[‘key‘,‘data1_x‘]]
技术分享
 
修改列名
In [40]: df8=df7.rename(columns={‘data1_right‘:‘data‘}) #将data1_right修改成data技术分享
 
保存数据
 
 
 

mysql基础(5)-关联

标签:

原文地址:http://www.cnblogs.com/wujiadong2014/p/5718124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!