范畴变量熊猫



我想比较以伪变量为条件的数据集的统计数据,如均值、std等。我在某个地方看到了一个命令,但我记不清了(或者谷歌搜索不成功(。我想产生这样的输出:

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

最新更新