Pandas NameError: name 'merge' is not defined

Pandas NameError: name 'merge' is not defined

正在尝试合并两个数据框:

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')

为什么我会得到?我无法在线找到 'merge' 的此错误的解释。我不知道它想从我这里得到什么。理想情况下,我需要合并两个表并按 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()

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

谢谢。

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

合并的一个例子是:

import pandas as pd 

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

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