我是 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/