python - 分类变量 pandas

标签 python pandas pandas-groupby

我想比较数据集的统计数据,例如平均值、标准差等,以虚拟变量为条件。我在某处看到了一个命令,但我不记得了(或者谷歌搜索不成功)。我想产生这样的输出:

dummy    mean(var1)  mean(var2)
0          1.5        3
1          10         10

也许有groupby的东西?

这是一个最小示例:

    dict1 = [{'dummy': '0', 'var1': 1, 'var2': 2},
         {'dummy': '0', 'var1': 2, 'var2': 4},
        {'dummy': '1', 'var1': 5, 'var2': 8},
        {'dummy': '1', 'var1': 15, 'var2': 12},]
 df = pd.DataFrame(dict1, index=['s1', 's2','s3','s4'])

最佳答案

我相信你想要groupby+describe

ndf = df.groupby('dummy').describe()

然后选择您想要的任何信息

ndf.loc[:, ndf.columns.get_level_values(1)=='mean']

       var1     var2
       mean     mean
dummy       
0      1.5      3.0
1      10.0     10.0
<小时/>

describe 可能更强大,因为它会预先为您提供许多不同的统计信息。但当然你可以选择你的方法,例如

df.groupby('dummy').mean()


       var1    var2
dummy       
0      1.5      3.0
1      10.0    10.0


df.groupby('dummy').std()


       var1      var2
dummy       
0      0.707107  1.414214
1      7.071068  2.828427

关于python - 分类变量 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51349283/

相关文章:

python - 按 pandas 数据框分组的平均值

python - 修复 matplotlib 中图例的大小

python - 接受与关键字/标准库冲突的变量名约定

python - 使用 scikit learn tfidf 矢量器从计数数据帧开始

python-3.x - pandas 在 Openshift 上工作吗?

python - 将多个 pandas 列转换为 json

python - 来自边缘列表的 Scipy 稀疏矩阵

python - Ho在python中将pd数据帧转换为矩阵结构

python - 使用 group by 函数进行字符串模式聚合

python - Pandas Groupby 中过去 12 个月的唯一值