【问题标题】:TypeError: merge() takes at least 2 arguments (4 given)TypeError: merge() 至少需要 2 个参数(给定 4 个)
【发布时间】:2020-05-23 18:23:05
【问题描述】:
import pandas as pd
import numpy as np

'''This is first dataframe'''

df1=pd.DataFrame({'fruit': ['apple', 'banana', 'orange']*3,'weight':['high','medium','low']*3 
                  ,'price': np.random.randint(0, 15, 9)})

'''This is second dataframe'''

df2=pd.DataFrame({'product': ['apple', 'orange', 'pine'] * 2,
                    'kilo': ['high', 'low'] * 3,
                    'price': np.random.randint(0, 15, 6)})

我想执行合并 合并=pd.merge(left_on=['fruit','weight'],right_on=['product','kilo'],how='inner',suffixes= ['_左右']) 它给出了类型错误

【问题讨论】:

  • pd.merge 在哪些数据帧上?将您的数据框作为输入。
  • 我不想在特定的数据帧上执行它。

标签: python pandas merge


【解决方案1】:

您必须声明要合并的左右数据框:

merged=pd.merge(left=df1, right=df2,left_on=['fruit','weight'],right_on=['product','kilo'],how='inner',suffixes= 
                ['_left','_right'])

输出:

    fruit   weight  price_left  product   kilo  price_right
0   apple   high    4            apple    high  5
1   apple   high    11           apple    high  5
2   apple   high    8            apple    high  5
3   orange  low     7            orange   low   7
4   orange  low     1            orange   low   7
5   orange  low     9            orange   low   7

【讨论】:

    【解决方案2】:

    您还需要提供要合并的数据框。试试这个:

    merged=df1.merge(df2, left_on=['fruit','weight'],right_on=['product','kilo'],how='inner',suffixes= 
                    ['_left','_right'])
    

    输出:

        fruit weight  price_left product  kilo  price_right
    0   apple   high           6   apple  high            5
    1   apple   high           9   apple  high            5
    2   apple   high           2   apple  high            5
    3  orange    low           5  orange   low            2
    4  orange    low           5  orange   low            2
    5  orange    low          11  orange   low            2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-04
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多