尝试合并两个数据框:
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 by 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
ADDED 03/08 我的目标是合并这两个表来创建一个新表,它将显示每个团队每年的胜利和薪水。 我做的是:
merged = pd.merge(ds, dt, on=['teamID', 'yearID'])
grouped = merged.groupby(['teamID', 'yearID'])
aggregated = grouped.aggregate(np.sum)
aggregated.head()
这是最好的方法吗?在我看来,这不是最好的方法。
谢谢。
答案 0 :(得分:2)
您收到的错误是因为您没有使用merge方法调用pandas模块。
合并的一个例子是:
import pandas as pd
merged_df = pd.merge(ds, dt, how='inner',on=['yearID','teamID'])
我声明了how参数,因此你可以看到你可以根据需要改变它。