Python “如何修复”;只能将str(而不是“float”连接到str;使用坡度时,是否拦截?
我只是一个初学者,我正在编写一个代码来分析一些数据,为此我需要分析一些图的斜率。我有以前用于分析类似内容的代码,并希望对其进行修改。我需要分析什么时候斜率大于0,然后它应该把它作为一个开始,当斜率为负时,什么时候停止。但我有个错误Python “如何修复”;只能将str(而不是“float”连接到str;使用坡度时,是否拦截?,python,numpy,Python,Numpy,我只是一个初学者,我正在编写一个代码来分析一些数据,为此我需要分析一些图的斜率。我有以前用于分析类似内容的代码,并希望对其进行修改。我需要分析什么时候斜率大于0,然后它应该把它作为一个开始,当斜率为负时,什么时候停止。但我有个错误 data = pd.read_csv(file, names=['Date', 'Potential, V', 'CO2', 'RH', 'Pressure, mmHg', 'Tempereture,
data = pd.read_csv(file, names=['Date', 'Potential, V', 'CO2', 'RH',
'Pressure, mmHg', 'Tempereture, C'])
dateindex = pd.to_datetime(data['Date'], format='%Y-%m-%d %H:%M:%S')
List = ['Date', 'Potential, V', 'CO2', 'RH', 'Pressure, mmHg', 'Tempereture, C']
for CH in List:
for i in range(6, len(dateindex)):
slope[i], intercept= np.polyfit(range(len(dateindex))[i - 6:i],data[CH][i - 6:i],1)
if slope[i - 1] < 0 and slope[i] > 0:
start = i
R0 = np.mean(data[CH][i - 2:i - 1])
if slope[i - 1] > 0 and slope[i] < 0:
end = i
data=pd.read\u csv(文件名=['Date','Potential,V','CO2','RH',',
'压力,毫米汞柱','温度,C'])
dateindex=pd.to_datetime(数据['Date'],格式=“%Y-%m-%d%H:%m:%S”)
列表=['Date','Potential,V','CO2','RH','Pressure,mmHg','Temperature,C']
对于登录列表:
对于范围(6,len(dateindex))中的i:
斜率[i],截距=np.polyfit(范围(len(dateindex))[i-6:i],数据[CH][i-6:i],1)
如果斜率[i-1]<0且斜率[i]>0:
开始=i
R0=np.平均值(数据[CH][i-2:i-1])
如果斜率[i-1]>0且斜率[i]<0:
结束=i
错误:
Traceback (most recent call last):
File "C:/Users/Lenovo/Desktop/ADA (Automatic Data Analysis)/read2.py", line 62, in <module>
slope[i], intercept= np.polyfit(range(len_dateindex)[i - 6:i],data[CH][i - 6:i],1)
File "<__array_function__ internals>", line 6, in polyfit
File "C:\Users\Lenovo\Desktop\ADA (Automatic Data Analysis)\venv\lib\site-packages\numpy\lib\polynomial.py", line 593, in polyfit
y = NX.asarray(y) + 0.0
TypeError: can only concatenate str (not "float") to str
回溯(最近一次呼叫最后一次):
文件“C:/Users/Lenovo/Desktop/ADA(自动数据分析)/read2.py”,第62行,在
斜率[i],截距=np.polyfit(范围(len_-dateindex)[i-6:i],数据[CH][i-6:i],1)
文件“”,第6行,polyfit格式
文件“C:\Users\Lenovo\Desktop\ADA(自动数据分析)\venv\lib\site packages\numpy\lib\polymon.py”,第593行,polyfit格式
y=NX.asarray(y)+0.0
TypeError:只能将str(而不是“float”)连接到str
尝试使用astype(np.float)
如下:slope[i],intercept=np.polyfit(range(len_dateindex)[i-6:i]。astype(np.float),data[CH][i-6:i]。astype(np.float),1)
欢迎使用StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确指定问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您指定的问题。这似乎是一个简单的类型转换问题——但我们只能猜测,因为您未能包含导致错误的值。确切地说,CH、List、data、len_dateindex和dateindex是什么?data data frame dataindex series List-List CH-stringpolyfit
希望所有输入都是数字数组。数据
的至少一列是带有字符串元素的对象数据类型。跳过这些列,或者做一些事情将它们(日期?)转换为数字。