我有一个大型数据集,我正在循环生成图。我已经成功地找出了散点图,但是我在解决如何生成回归线和拟合曲线时遇到了问题。
这是我的代码:
# import modules
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# OPTIONS AND PARAMETERES
pd.set_option('display.mpl_style', 'default')
df = pd.read_csv('W:/Dropbox/Connor/vaccinia.csv', index_col = 'SampleID')
x = df.iloc[0][59:84].astype(np.float)
fileNameTemplate = r'W:\Dropbox\Connor\Plot\Plot{0:2}.png'
# THE LOOP - for i in df.count(1):
for i in range(0, 10):
venus = df.iloc[i][8:33]
mcherry = df.iloc[i][33:58]
fig = plt.figure()
fig.suptitle(str(i) + " - " + df.iloc[i][0])
plt.xlabel('uM compound')
plt.ylabel('reporter activity')
ax1 = fig.add_subplot(111)
ax1.set_xscale('log')
ax1.scatter(x, venus, c='g')
ax1.scatter(x, mcherry, c='r')
plt.savefig(fileNameTemplate.format(i))
plt.close()
我发现(和尝试过)多种在线方法无济于事。当我得到np.sin
的属性错误时,回归线通常会失败,并且由于polyfit
期间的错误,拟合曲线将无效。我怀疑一些问题可能是因为我的一些数据点是NaN
。
任何人都可以帮助我吗?
编辑:我也很感谢你对最佳实践的看法 - 我今天开始学习python和所有这些,所以我真的不知道我在做什么。