gpt4 book ai didi

python - 处理 Pandas 中的重复数据

转载 作者:行者123 更新时间:2023-11-30 22:30:01 25 4
gpt4 key购买 nike

我正在尝试绘制一些数据随时间变化的散点图,并以标准偏差作为误差线。我对两个不同样本 A 和 B 的每个时间点进行了三次测量。

Date A1 A2 A3 B1 B2 B3
1/1/17 4 5 6 2 3 4
1/2/17 6 7 8 5 6 4

所以我像这样导入数据:

import pandas as pd
columns = ['Date', 'A1', 'A2', 'A3', 'B1', 'B2', 'B3']
dat = pd.read_csv('data', sep='\t', names=columns)

那么我如何组合重复列以便计算标准差然后绘图?我正在考虑重命名 A 和 B 列,以便它们相同,然后可以合并?

最佳答案

我必须承认,我并没有真正得到你想要的东西,但我认为这很酷。

  • 转置,因为我想运行 groupby/agg 但它尚未在列上实现
  • 按列名称的第一个字符分组,然后查找 meanstd
  • 用它来绘制带有误差线的内容。

d = df.T.groupby(lambda x: x[0]).agg(['mean', 'std']).T
d.xs('mean', level=1).plot.bar(yerr=d.xs('std', level=1))

或者相同的想法,但路径略有不同

d = df.T.groupby(lambda x: x[0]).agg(['mean', 'std']).stack(0).unstack(0)
d['mean'].plot.bar(yerr=d['std'])

enter image description here


否则,我们可以进行一次缩减

df.groupby(lambda x: x[0], 1).mean()

A B
Date
1/1/17 5 3
1/2/17 7 5

关于python - 处理 Pandas 中的重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46186784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com