• 17-numpy笔记-莫烦pandas-5


    代码

    import pandas as pd
    import numpy as np
    
    left=pd.DataFrame({'key':['K0','K1','K2','K3'],
                        'A':['A0','A1','A3','A3'],
                        'B':['B0','B1','B2','B3'],})
    
    right=pd.DataFrame({'key':['K0','K1','K2','K3'],
                        'C':['C0','C1','C3','C3'],
                        'D':['D0','D1','D2','D3'],})
    
    print('-1-')
    print(left)
    print(right)
    
    res = pd.merge(left,right,on='key')
    print(res)
    
    
    left=pd.DataFrame({'key1':['K0','K0','K1','K2'],
                        'key2':['K0','K1','K0','K1'],
                        'A':['A0','A1','A3','A3'],
                        'B':['B0','B1','B2','B3'],})
    
    right=pd.DataFrame({'key1':['K0','K1','K1','K2'],
                        'key2':['K0','K0','K0','K0'],
                        'C':['C0','C1','C3','C3'],
                        'D':['D0','D1','D2','D3'],})
    
    
    print('-2-')
    res = pd.merge(left,right,on=['key1','key2'])
    print(left)
    print(right)
    print(res)
    
    # default
    print('-3-')
    res = pd.merge(left,right,on=['key1','key2'],how='inner')
    print(left)
    print(right)
    print(res)
    
    print('-4-')
    res = pd.merge(left,right,on=['key1','key2'],how='outer')
    print(left)
    print(right)
    print(res)
    
    print('-5-')
    res = pd.merge(left,right,on=['key1','key2'],how='right')
    print(left)
    print(right)
    print(res)
    
    print('-6-')
    res = pd.merge(left,right,on=['key1','key2'],how='left')
    print(left)
    print(right)
    print(res)
    
    print('-7-')
    df1 = pd.DataFrame({'col1':[0,1],'col_left':['a','b']})
    df2 = pd.DataFrame({'col1':[1,2,2],'col_right':[2,2,2]})
    print(df1)
    print(df2)
    res = pd.merge(df1,df2,on='col1',how='outer',indicator=True)
    print(res)
    
    res = pd.merge(df1,df2,on='col1',how='outer',indicator=True)
    print(res)
    
    res = pd.merge(df1,df2,on='col1',how='outer',indicator='indicator_column')
    print(res)
    
    
    df1 = pd.DataFrame({'A':['A0','A1','A2'],
                        'B':['B0','B1','B2']},
                        index=['K0','K1','K2'])
    
    df2 = pd.DataFrame({'C':['C0','C1','C2'],
                        'D':['D0','D1','D2']},
                        index=['K0','K1','K2'])
    
    print(df1)
    print(df2)
    
    print('-8-')
    res=pd.merge(left,right,left_index=True,right_index=True,how='outer')
    print(res)
    
    print('-9-')
    res=pd.merge(left,right,left_index=True,right_index=True,how='inner')
    print(res)
    
    boys = pd.DataFrame({'k':['K0','K1','K2'],'age':[1,2,3]})
    girls = pd.DataFrame({'k':['K0','K0','K3'],'age':[4,5,6]})
    
    print('-10-')
    print(boys)
    print(girls)
    
    res = pd.merge(boys, girls, on='k', suffixes=['_boy','_girl'],how='inner')
    print(res)
    
    res = pd.merge(boys, girls, on='k', suffixes=['_boy','_girl'],how='outer')
    print(res)
    

      

    输出

    -1-
      key   A   B
    0  K0  A0  B0
    1  K1  A1  B1
    2  K2  A3  B2
    3  K3  A3  B3
      key   C   D
    0  K0  C0  D0
    1  K1  C1  D1
    2  K2  C3  D2
    3  K3  C3  D3
      key   A   B   C   D
    0  K0  A0  B0  C0  D0
    1  K1  A1  B1  C1  D1
    2  K2  A3  B2  C3  D2
    3  K3  A3  B3  C3  D3
    -2-
      key1 key2   A   B
    0   K0   K0  A0  B0
    1   K0   K1  A1  B1
    2   K1   K0  A3  B2
    3   K2   K1  A3  B3
      key1 key2   C   D
    0   K0   K0  C0  D0
    1   K1   K0  C1  D1
    2   K1   K0  C3  D2
    3   K2   K0  C3  D3
      key1 key2   A   B   C   D
    0   K0   K0  A0  B0  C0  D0
    1   K1   K0  A3  B2  C1  D1
    2   K1   K0  A3  B2  C3  D2
    -3-
      key1 key2   A   B
    0   K0   K0  A0  B0
    1   K0   K1  A1  B1
    2   K1   K0  A3  B2
    3   K2   K1  A3  B3
      key1 key2   C   D
    0   K0   K0  C0  D0
    1   K1   K0  C1  D1
    2   K1   K0  C3  D2
    3   K2   K0  C3  D3
      key1 key2   A   B   C   D
    0   K0   K0  A0  B0  C0  D0
    1   K1   K0  A3  B2  C1  D1
    2   K1   K0  A3  B2  C3  D2
    -4-
      key1 key2   A   B
    0   K0   K0  A0  B0
    1   K0   K1  A1  B1
    2   K1   K0  A3  B2
    3   K2   K1  A3  B3
      key1 key2   C   D
    0   K0   K0  C0  D0
    1   K1   K0  C1  D1
    2   K1   K0  C3  D2
    3   K2   K0  C3  D3
      key1 key2    A    B    C    D
    0   K0   K0   A0   B0   C0   D0
    1   K0   K1   A1   B1  NaN  NaN
    2   K1   K0   A3   B2   C1   D1
    3   K1   K0   A3   B2   C3   D2
    4   K2   K1   A3   B3  NaN  NaN
    5   K2   K0  NaN  NaN   C3   D3
    -5-
      key1 key2   A   B
    0   K0   K0  A0  B0
    1   K0   K1  A1  B1
    2   K1   K0  A3  B2
    3   K2   K1  A3  B3
      key1 key2   C   D
    0   K0   K0  C0  D0
    1   K1   K0  C1  D1
    2   K1   K0  C3  D2
    3   K2   K0  C3  D3
      key1 key2    A    B   C   D
    0   K0   K0   A0   B0  C0  D0
    1   K1   K0   A3   B2  C1  D1
    2   K1   K0   A3   B2  C3  D2
    3   K2   K0  NaN  NaN  C3  D3
    -6-
      key1 key2   A   B
    0   K0   K0  A0  B0
    1   K0   K1  A1  B1
    2   K1   K0  A3  B2
    3   K2   K1  A3  B3
      key1 key2   C   D
    0   K0   K0  C0  D0
    1   K1   K0  C1  D1
    2   K1   K0  C3  D2
    3   K2   K0  C3  D3
      key1 key2   A   B    C    D
    0   K0   K0  A0  B0   C0   D0
    1   K0   K1  A1  B1  NaN  NaN
    2   K1   K0  A3  B2   C1   D1
    3   K1   K0  A3  B2   C3   D2
    4   K2   K1  A3  B3  NaN  NaN
    -7-
       col1 col_left
    0     0        a
    1     1        b
       col1  col_right
    0     1          2
    1     2          2
    2     2          2
       col1 col_left  col_right      _merge
    0     0        a        NaN   left_only
    1     1        b        2.0        both
    2     2      NaN        2.0  right_only
    3     2      NaN        2.0  right_only
       col1 col_left  col_right      _merge
    0     0        a        NaN   left_only
    1     1        b        2.0        both
    2     2      NaN        2.0  right_only
    3     2      NaN        2.0  right_only
       col1 col_left  col_right indicator_column
    0     0        a        NaN        left_only
    1     1        b        2.0             both
    2     2      NaN        2.0       right_only
    3     2      NaN        2.0       right_only
         A   B
    K0  A0  B0
    K1  A1  B1
    K2  A2  B2
         C   D
    K0  C0  D0
    K1  C1  D1
    K2  C2  D2
    -8-
      key1_x key2_x   A   B key1_y key2_y   C   D
    0     K0     K0  A0  B0     K0     K0  C0  D0
    1     K0     K1  A1  B1     K1     K0  C1  D1
    2     K1     K0  A3  B2     K1     K0  C3  D2
    3     K2     K1  A3  B3     K2     K0  C3  D3
    -9-
      key1_x key2_x   A   B key1_y key2_y   C   D
    0     K0     K0  A0  B0     K0     K0  C0  D0
    1     K0     K1  A1  B1     K1     K0  C1  D1
    2     K1     K0  A3  B2     K1     K0  C3  D2
    3     K2     K1  A3  B3     K2     K0  C3  D3
    -10-
        k  age
    0  K0    1
    1  K1    2
    2  K2    3
        k  age
    0  K0    4
    1  K0    5
    2  K3    6
        k  age_boy  age_girl
    0  K0        1         4
    1  K0        1         5
        k  age_boy  age_girl
    0  K0      1.0       4.0
    1  K0      1.0       5.0
    2  K1      2.0       NaN
    3  K2      3.0       NaN
    4  K3      NaN       6.0
    

      

  • 相关阅读:
    这个开源组织里的项目都是精品
    动态代理大揭秘,带你彻底弄清楚动态代理!
    Python_对excel表格读写-openpyxl、xlrd&xlwt
    PostgreSQL 查看数据库,索引,表,表空间大小
    Mysql日志undo log、redo log、binlog、relay log
    python 高级
    win10 ssh 登录 ubuntu Access denied
    mysql5.7 ubuntu20.04
    pycharm 激活 成功
    Xmind:文件损坏怎么恢复
  • 原文地址:https://www.cnblogs.com/alexYuin/p/9607370.html
Copyright © 2020-2023  润新知