gpt4 book ai didi

python - 绘制组与组中变量平均值的关系图

转载 作者:行者123 更新时间:2023-12-01 03:15:56 24 4
gpt4 key购买 nike

我有一个 CSV 文件,格式为:

BUFFER_SIZE,RUN,DURATION
1000,1,0.5
1000,2,0.62
1000,3,0.48
1000,4,0.59
2000,1,0.44
2000,2,0.35
2000,3,0.29
2000,4,0.41
...

(数据是假的,只是为了说明我的例子)

我想绘制 buffer_sizemean(duration) 的图。

我可以毫无问题地分组和计算平均值:

bench_results = pd.read_csv('bench_results.csv')
bench_by_size = bench_results.groupby('BUFFER_SIZE')
bench_by_size.mean()

这给了我预期的结果。

plot(bench_results.groupby('BUFFER_SIZE').mean()['DURATION']) 是我想要的几乎,除了我想要 X-轴为 BUFFER_SIZE。

这很丑陋,但给出了我想要的:

Xvals = []
Yvals = []
for key, grp in bench_results.groupby(['BUFFER_SIZE']):
Xvals.append(key)
Yvals.append(mean(grp['DURATION']))
plot(Xvals, Yvals)

有更好的方法吗?我想避免迭代 GroupBy 对象。

最佳答案

plt.plot(bench_by_size.mean()['DURATION']) 应该可以工作。例如,

import pandas as pd
import matplotlib.pyplot as plt

bench_results = pd.DataFrame(
{'BUFFER_SIZE': [1000, 1000, 1000, 1000, 2000, 2000, 2000, 2000],
'DURATION': [0.5, 0.62, 0.48, 0.59, 0.44, 0.35, 0.29, 0.41],
'RUN': [1, 2, 3, 4, 1, 2, 3, 4]})

# bench_results = pd.read_csv('data')
bench_by_size = bench_results.groupby('BUFFER_SIZE')
means = bench_by_size.mean()
plt.plot(means['DURATION'], linestyle='-', marker='o', markersize=10)
plt.xlabel(means.index.name)
plt.ylabel('DURATION')
plt.show()

产量

enter image description here

关于python - 绘制组与组中变量平均值的关系图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42461431/

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