Pandas 行子集的一列标准偏差

Pandas standard deviation on one column for subset of rows

我刚开始使用 Python 和 Pandas。目前我正在尝试创建一个从 SQL 数据库中提取数据并在 pandas 数据框中使用该数据的报告。每行是一个服务器名称和样本日期,然后是每列样本数据。

我已经能够使用主机名进行过滤 df[df['hostname'] == uniquehost] df 是数据框的变量,uniquehost 是每个唯一主机名的变量。

我接下来要做的是获取其他列的标准偏差,尽管我还没有弄清楚这部分。我试图使用 df[df['hostname'] == uniquehost].std()

然而,这是不正确的。

任何人都可以指出正确的方向来得到这个数字吗?我怀疑我找错了树,可能有一种我还没有遇到过的非常简单的方法来处理这个问题。

Hostname | Sample Date | CPU Peak | Memory Peak 
server1 | 08/08/17 | 67.32 | 34.83 
server1 | 08/09/17 | 34 | 62

IIUC,您需要先对 Hostname 执行 df.groupby,然后 然后 找到标准偏差。像这样:

In [118]: df.groupby('Hostname')[['CPU Peak', 'Memory Peak']].std()
Out[118]: 
           CPU Peak  Memory Peak
Hostname                        
server1   23.560798    19.212091