加入熊猫数据框的问题
所以我试图将两个数据帧连接在一起来对另一个数据帧进行绘图。加入熊猫数据框的问题
我想:
genders2 = np.array(male_grades[['grade_difs']].join(female_grades[['grade_difs']], how='outer'))
并且得到错误:
AttributeError: 'Series' object has no attribute 'join'
我能够在节目中较早使用这种类型的代码,我正在写:
genders = np.array(male[['MaleAge']].join(female[['FemaleAge']], how='outer'))
如果我太模糊,让我知道和生病尝试添加更多的代码,使其更有意义或什么。
代码:之前
data['grade_difs'] = (data['OGrade'] - data['IGrade'])
female_grades = data[data['Gender'] == 'F']['grade_difs']
male_grades = data[data['Gender'] == 'M']['grade_difs']
两点
-
你肯定获得在
male_grades
一个pd.Series
。这将修复它female_grades = data[data['Gender'] == 'F'][['grade_difs']] male_grades = data[data['Gender'] == 'M'][['grade_difs']]
-
但我宁愿做这样
female_grades = data.loc[data['Gender'] == 'F', ['grade_difs']] male_grades = data.loc[data['Gender'] == 'M', ['grade_difs']]
之后,你需要确保你在你的join
的情况下指定后缀你有共同的列名称。通常在连接的一侧指定后缀就足够了。
male[['MaleAge']].join(female[['FemaleAge']], how='outer', rsuffix='_')
然而,谢谢你;我没有收到错误:ValueError:列重叠,但没有指定后缀:索引(['grade_difs'],dtype ='object')这是否意味着数据框架的索引不排队? – ksalerno
因此,您已经过去了第一个错误并且遇到了另一个错误。那很好。这是进步:-)这是因为你有共同的列名称。当你没有提供完整的例子时,很难做到这一点。您应该始终提供我们称之为最小且完整的可验证示例或[*** MCVE ***](http://stackoverflow.com/help/mcve)。我会更新我的答案。 – piRSquared
@ksalerno,请阅读[如何制作好可重复的熊猫示例](http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples)和[编辑](http:///stackoverflow.com/posts/43499776/edit)你的帖子据此 – MaxU
错误表明'male'是'pd.Series',当你用'male [[MaleAge']]切片时'你会得到另一个'pd.Series' ...和'pd .Series'没有'join'方法。你想检查你的其他代码,看看'男'成为'pd.Series'如果你不打算这样做。 – piRSquared
male_grades?我刚刚编辑它以显示代码。 – ksalerno
也许pd.concat会帮助你的情况。 http://pandas.pydata.org/pandas-docs/stable/merging.html –