python在熊猫数据框中聚合列的散点图

问题描述:

我有一个1950年以来NBA中每个玩家的数据集和他们的统计数据。数据集中的列包括年份(适用年份),玩家名称和他的团队那一年,NBA的几年以及职业生涯每一年每个球员的20个不同数据列。其中一列是'PTS',这是该玩家当年得分的总分数。我想在Python中创建散点图,在x轴上显示1950年至2017年,并在y轴上显示当年得分。我相信要返回的总点,每个赛季的最有效的方法是:python在熊猫数据框中聚合列的散点图

import numpy as np 
    import pandas as pd 
    import matplotlib.pyplot as plt 
    import seaborn as sns 
    seasons = pd.read_csv('C:/windows/temp/Seasons_Stats.csv') 
    tp_yr = seasons.groupby('Year').agg({'PTS': ['sum']}) 

但是创建使用散点图:

tp_yr.plot.scatter(x= 'Year', y = 'PTS', s = 'None', c='red') 

回报:

KeyError: 'Year'

和空白图表 我想要一个1950年-2017年的所有年份的总积分,用红色散点图表示。

+0

“我有问题”是不足够的问题说明。具体:数据框中的列是什么?最后的情节应该表明什么(什么是x轴,什么是yaxis,这些要点代表什么?),你试图创造这样一个情节的是什么?问题是什么?它与您的期望有多大差距,还是会出现错误?正如你所看到的,开放问题的列表比你的问题本身更长。请[编辑]让它可以回复。 – ImportanceOfBeingErnest

+0

谢谢我编辑帖子以获得更多清晰度 –

+0

转换“年份”列将解决您发布的错误。 (请参阅:https://*.com/questions/35432918/scatter-plot-with-string-x-and-y-coordinates) 要回答其他问题,您需要显示更多的代码。 – mimre

您正在收到一个关键错误,因为在聚合数据框中没有名为“Year”的列,因为该年被用作索引。

为了取回索引作为数据帧的列使用.reset_index()

像这样的东西应该工作:

ptsbyyear = df.groupby("Year").agg({'PTS': ['sum']}).reset_index() 
ptsbyyear.plot(kind="scatter", x="Year", y="PTS") 
+0

非常感谢。我注意到,今年想要一个专栏名称,并意识到这是问题,但不知道如何检索年份。再次感谢。 –

+0

我接受了你的答案,对吧? –