我使用下面的代码从一个 Dataframe 生成多个散点图。第一列是“时间”(所有图表的x轴),其他列是A,B,C...(每个图表的y轴)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("output.xlsx")
columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T']
for i in enumerate(columns):
plt.subplot(20,4, i[0]+1)
x = 'Time'
y = i[1]
plt.scatter(x,y, data=df)
plt.show()
我能够生成所有图表,但我也希望得到每个图表的斜率。我在想这样的事情:
from scipy import stats
slope, intercept, r_value, p_value, std_err = stats.linregress(df['Time'], df['A'])
但是,如何将其放大以获得每列的斜率?(A、B、C ...)
1条答案
按热度按时间osh3o9ms1#
请考虑:
这将给出 Dataframe 中所有列的结果: