【发布时间】:2019-12-01 20:58:58
【问题描述】:
我有一个带有这种样式的 csv 格式的列表:
线,ALTURA
L10015,95.95
L10015,98.2
L10015,99.17
L10015,98.17
L10015,95.76
...
L10025,109.44
L10025,116.87
L10025,127.57
...
L10035,111.52
...
我想在 Python 3.x(我正在使用 Spyder)上导入这个 csv 列表,并计算每种类型的线的 ALTURA 平均值(只要线的名称发生变化)。例如,L10015 的平均值,然后是 L10025 的平均值,L10035 的平均值等等。
这个文件有 1,759,679 行(包括标题),我认为 Excel 不是处理这些数据的最佳软件。
我还想创建一个图表,其中包含每条线(y 轴)与线(x 轴)的平均值。
我做到了:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv (r'C:\Users\..\Downloads\teste_gama.csv')
mean1 = df['ALTURA'].mean()
print ('Total arithmetic mean: ' + str(mean1))
groupby_mean1 = df.groupby(['Line']).mean()
print('Mean of values, grouped by Line: ' + str(groupby_mean1))
df.groupby("Line")['ALTURA'].mean().plot(kind='bar')
我想我设法得到每行的平均值。但是,如何修复我的绘图以在垂直方向显示 x 标签并且间隔更大?有没有办法在值 100 中添加一条水平常数线? plot
【问题讨论】:
-
那么你尝试了什么,它到底有什么问题?
-
我会支持@jonrsharpe 所说的。 Stack Overflow 不是人们为您完成所有工作的地方。
-
激励非编程用户在堆栈社区寻求帮助的好方法。