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

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

我接下来要做的是获取其他列的 stdev,尽管我无法弄清楚这部分。我试图使用
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,您首先要在 df.groupby 上执行 Hostname,然后找到标准偏差。像这样的东西:

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

关于python - 行子集的一列上的 Pandas 标准差,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45704810/

10-12 00:39
查看更多