Python 从线图在matplotlib中绘制平均值?

Python 从线图在matplotlib中绘制平均值?,python,pandas,matplotlib,Python,Pandas,Matplotlib,我对编码领域相当陌生,一直在尝试熟悉用于数据分析的代码。我试图找出如何在这个折线图中插入数据集的平均值。它包含来自多个主题、跨越多天的数据,我很想知道是否有任何方法可以获取数据的“平均值”或行数,并将其插入到代码中,以便显示在图表上。我尝试过搜索stack overflow和matplotlib.org,但没有成功。在此方面的任何帮助都将不胜感激 **进一步澄清:共有九个受试者,每个受试者的准确率在50%-100%之间。数据在excel中编译,excel中有一行“天”(1-22)和“主题”(在给

我对编码领域相当陌生,一直在尝试熟悉用于数据分析的代码。我试图找出如何在这个折线图中插入数据集的平均值。它包含来自多个主题、跨越多天的数据,我很想知道是否有任何方法可以获取数据的“平均值”或行数,并将其插入到代码中,以便显示在图表上。我尝试过搜索stack overflow和matplotlib.org,但没有成功。在此方面的任何帮助都将不胜感激

**进一步澄清:共有九个受试者,每个受试者的准确率在50%-100%之间。数据在excel中编译,excel中有一行“天”(1-22)和“主题”(在给定的日期具有相应的准确性,即第1天为50%,第2天为65%,等等)

这是我的密码:

import pandas as pd 
import matplotlib.pyplot as plt
import numpy as np

df = pd.read_excel('data.xlsx')

plt.figure(figsize=(10, 7))
Day = df['Day']
Accuracy = df[['Subject 1', 'Subject 2', 'Subject 3', 'Subject 4', 'Subject 5', 'Subject 6', 'Subject 7', 'Subject 8', 'Subject 9']]
plt.plot(Day, Accuracy, alpha = 0.3)
plt.axis([1, 22, 0.55, 1])
plt.axhline(y=0.8, color='black', linestyle='--', alpha=0.3)
plt.xlabel('Day')
plt.ylabel('Accuracy')
plt.title("Days to Acquisition by Subject")
ax = plt.subplot()
ax.set_xticks(Day)
plt.show()
这就是我得到的:

太棒了,谢谢!是否有办法将该行与其余数据一起插入,以便与其余数据一起显示?我不想让平均线取代整体,我希望其他线仍然显示,并有一条平均线贯穿所有线。理想情况下,不透明度低于其他线条。:-)非常感谢您的帮助,非常感谢!这是一个如此简单的修复,我不敢相信我竟然忽略了。这太棒了,谢谢!是否有办法将该行与其余数据一起插入,以便与其余数据一起显示?我不想让平均线取代整体,我希望其他线仍然显示,并有一条平均线贯穿所有线。理想情况下,不透明度低于其他线条。:-)非常感谢您的帮助,非常感谢!这是一个如此简单的解决方案,我真不敢相信我竟然忽略了。
import pandas as pd 
import matplotlib.pyplot as plt
import numpy as np

df = pd.read_excel('data.xlsx')

plt.figure(figsize=(10, 7))
Day = df['Day']
Accuracy = df[['Subject 1', 'Subject 2', 'Subject 3', 'Subject 4', 'Subject 5', 'Subject 6', 'Subject 7', 'Subject 8', 'Subject 9']]
Accuracy_mean = df[['Subject 1', 'Subject 2', 'Subject 3', 'Subject 4', 'Subject 5', 'Subject 6', 'Subject 7', 'Subject 8', 'Subject 9']].mean(axis=1)
plt.plot(Day, Accuracy, alpha = 0.3)
plt.plot(Day, Accuracy_mean)
plt.axis([1, 22, 0.55, 1])
plt.axhline(y=0.8, color='black', linestyle='--', alpha=0.3)
plt.xlabel('Day')
plt.ylabel('Average Accuracy')
plt.title("Days to Acquisition by Subject")
ax = plt.subplot()
ax.set_xticks(Day)
plt.show()