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年的所有年份的总积分,用红色散点图表示。
您正在收到一个关键错误,因为在聚合数据框中没有名为“Year”的列,因为该年被用作索引。
为了取回索引作为数据帧的列使用.reset_index()
。
像这样的东西应该工作:
ptsbyyear = df.groupby("Year").agg({'PTS': ['sum']}).reset_index()
ptsbyyear.plot(kind="scatter", x="Year", y="PTS")
非常感谢。我注意到,今年想要一个专栏名称,并意识到这是问题,但不知道如何检索年份。再次感谢。 –
我接受了你的答案,对吧? –
“我有问题”是不足够的问题说明。具体:数据框中的列是什么?最后的情节应该表明什么(什么是x轴,什么是yaxis,这些要点代表什么?),你试图创造这样一个情节的是什么?问题是什么?它与您的期望有多大差距,还是会出现错误?正如你所看到的,开放问题的列表比你的问题本身更长。请[编辑]让它可以回复。 – ImportanceOfBeingErnest
谢谢我编辑帖子以获得更多清晰度 –
转换“年份”列将解决您发布的错误。 (请参阅:https://stackoverflow.com/questions/35432918/scatter-plot-with-string-x-and-y-coordinates) 要回答其他问题,您需要显示更多的代码。 – mimre