【问题标题】:Histogram, dictionaries, matplotlib?直方图、字典、matplotlib?
【发布时间】:2014-12-15 16:09:26
【问题描述】:

我需要制作直方图并在地图上显示统计数据。我选择了 NBA 统计数据(平均速度和具有该速度的球员数量)。

这是我目前的代码:

import json

dico = {}

with open("speedata.json") as file:
    data = json.load(file)
    for player in data["resultSets"][0]["rowSet"]:
        dico[player[1]] = player


for playerName, playerStats in dico.items():
    print("{%s, %s} -> Average Speed: %s" % (playerName,playerStats[4], playerStats[8]))

我打印的是例如:

{DeMar DeRozan, TOR} -> Average Speed: 4.1
{Brandon Knight, MIL} -> Average Speed: 4.2
{Brandon Rush, UTA} -> Average Speed: 4.2
{JJ Redick, LAC} -> Average Speed: 4.6
{Jeremy Tyler, NYK} -> Average Speed: 4.0
{John Salmons, SAC} -> Average Speed: 4.0
{Luke Babbitt, NOP} -> Average Speed: 4.3
{DeAndre Liggins, MIA} -> Average Speed: 3.4
{Chris Kaman, LAL} -> Average Speed: 4.2
{Robert Covington, HOU} -> Average Speed: 4.2
{Dorell Wright, POR} -> Average Speed: 4.2
{Darius Miller, NOP} -> Average Speed: 4.0

我想得到x平均速度的玩家数量,然后根据他们的团队对他们进行排序。

我的老师告诉我从字典dico 中导入一些信息到一个列表中;但我真的看不出有什么用。

有什么提示吗? (这是作业)

【问题讨论】:

  • 也许你应该问他们澄清 - 我不知道你想问什么。

标签: python json matplotlib histogram


【解决方案1】:

查看pandas。它是一个统计包,有一个称为 DataFrame 的方便容器,您可以使用它直接执行统计和绘图。直接从这个容器读取和写入文件也很方便。语法需要一点时间来适应。

无论是否使用 pandas,Matplotlib 语法都很简单。它将数据放入一个兼容的结构中以进行绘图,这需要最多的理解。

创建一个“平均速度”列表或数组,然后使用hist 对人口进行分箱和绘制。看源代码示例。

【讨论】:

    【解决方案2】:

    好吧,使用那个包不是重点,因为我必须自己使用 matplotlib 才能理解它是如何工作的。

    【讨论】:

      猜你喜欢
      • 2014-07-03
      • 2011-07-16
      • 2015-07-21
      • 2019-07-07
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多