【问题标题】:Pandas NameError: name 'merge' is not definedPandas NameError:未定义名称“合并”
【发布时间】:2015-03-09 11:11:32
【问题描述】:

尝试合并两个数据框:

ds.head() 给我:

Out[35]:
yearID  teamID  lgID    playerID    salary
0   1985    BAL AL  murraed02   1472819
1   1985    BAL AL  lynnfr01    1090000
2   1985    BAL AL  ripkeca01   800000
3   1985    BAL AL  lacyle01    725000
4   1985    BAL AL  flanami01   641667

dt[:3] 给我:

我需要按 yearID 和 teamID 合并两个表。我愿意:

merge(ds, dt, on='yearID')

为什么我会得到?我在网上找不到“合并”错误的解释。我不知道它想从我这里得到什么。理想情况下,我需要合并两个表并按 teamID 和 yearID 对它们进行排序。

NameError                                 Traceback (most recent call last)
<ipython-input-92-2087923fc223> in <module>()
----> 1 merge(ds, dt, on='yearID')

NameError: name 'merge' is not defined

添加 03/08 我的目标是合并这两个表以创建一个新表,该表将显示每个团队每年的胜利和薪水。 我所做的是:

merged = pd.merge(ds, dt, on=['teamID', 'yearID'])
grouped = merged.groupby(['teamID', 'yearID'])
aggregated = grouped.aggregate(np.sum)
aggregated.head()

这是最好的方法吗?在我看来,这不是最好的方法。

谢谢。

【问题讨论】:

    标签: pandas ipython-notebook


    【解决方案1】:

    您收到的错误是因为您没有调用 pandas 模块以及 merge 方法。

    合并的一个例子是:

    import pandas as pd 
    
    merged_df = pd.merge(ds, dt, how='inner',on=['yearID','teamID']) 
    

    我声明了 how 参数,所以你可以看到你可以根据需要更改它。

    【讨论】:

      猜你喜欢
      • 2017-04-20
      • 2022-08-14
      • 2018-08-06
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 2021-04-15
      • 2019-01-26
      相关资源
      最近更新 更多