【问题标题】:Selecting and averaging values in pandas data frames选择和平均熊猫数据框中的值
【发布时间】:2013-02-14 15:09:15
【问题描述】:

我是 pandas 数据分析库的新手。我需要完成的任务如下:

给定一个包含一组列C 的数据框(表),选择列子集中A 中的值相同的所有行,并将它们组合成一行,其中其他行C \ A 被平均。

(目标是测试程序的多次运行,并在参数相同的情况下平均运行时间等值。)

例如:

a       b       c       d
eggs    ham     1.0     0.0
eggs    ham     0.0     0.5
spam    eggs    0.0     1.0
spam    eggs    0.0     1.0

应该合并为:

a       b       c       d
eggs    ham     0.5     0.25
spam    eggs    0.0     1.0

选择列 ab 时(这意味着应该平均 cd)。

我有什么选择?

【问题讨论】:

    标签: python dataframe pandas data-analysis


    【解决方案1】:

    这就是 groupby 的作用

    http://pandas.pydata.org/pandas-docs/stable/groupby.html

    from StringIO import StringIO
    
    txt = """a       b       c       d
    eggs    ham     1.0     0.0
    eggs    ham     0.0     0.5
    spam    eggs    0.0     1.0
    spam    eggs    0.0     1.0"""
    
    df = pd.read_csv(StringIO(txt), sep="\\s+")
    df.groupby(["a","b"], as_index=False).mean()
    

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 2021-03-10
      • 2020-04-26
      • 2018-10-26
      • 1970-01-01
      • 2018-02-01
      • 2020-08-09
      • 2015-10-09
      • 2020-03-19
      相关资源
      最近更新 更多