(注意:我对python很新,这是我在Stack Overflow上的第一篇文章!)
我有一个目录,其中包含多个.csv文件,每个文件都有一列Force和一列Displacement数据。我想对每个函数执行相同的线性回归绘图函数,而不必更改.py文件中的文件名。 (理想情况下,我希望每个等式都是输出,但是现在我对多个情节感到高兴!)
到目前为止,我有:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats
values = pd.read_csv('RawData_1.csv')
slope, intercept, r_value, p_value, std_err =
stats.linregress(values['Displacement'],values['Force'])
ax = sns.regplot(x="Displacement", y="Force", data=values, color='b',
line_kws={'label':"y={0:.1f}x+{1:.1f}".format(slope,intercept)})
ax.legend()
plt.show()
我尝试过从其他帖子实施线路但没有运气。任何帮助深表感谢。谢谢:)
答案 0 :(得分:1)
您可以使用glob.glob()
以列表的形式获取目录内容,然后使用for循环为每个文件创建一个数字:
import glob
# assuming you want to go ove the current working directory
files = glob.glob('RawData*.csv')
for f in files:
values = pd.read_csv(f)
slope, intercept, r_value, p_value, std_err =
stats.linregress(values['Displacement'],values['Force'])
ax = sns.regplot(x="Displacement", y="Force", data=values, color='b',
line_kws={'label':"y={0:.1f}x+{1:.1f}".format(slope,intercept)})
ax.legend()
plt.show()