keyang_0519 2022-08-09 10:14 采纳率: 100%

# 关于数据处理的问题，如何解决？

###### 程序一直报错
``````
import matplotlib.pyplot as plt
import math
import pandas as pd
import numpy as np
import csv
from scipy.optimize import curve_fit

plt.close("all")

def f_1(x, k, b):
return k * x + b

Ra=8.314
#源文件地址和目标文件夹
save_floder=r'C:\Users\keyang\Desktop'
#生成文件的头部行
#写入CSV文件
with open(save_floder + '\\' + 'result.csv','w', newline='',encoding='utf-8-sig') as list_writer:
writer = csv.writer(list_writer)
#指定转化率间隔
conversion_value = 0.05
#读取源文件
conversion_degree_total = df['Degree']
Temperature_total = df['Temp']
#循环次数
num = int(0.9/conversion_value)
for i in range(num):
x_range=[]
y_range=[]
Temperature_range=[]
Top=conversion_degree_total[0]
while conversion_degree_total is not None:
a=conversion_degree_total.pop(0)
t=Temperature_total.pop(0)
Temperature_range.append(t)
x_num=1/t
x_range.append(x_num)
y_num=math.log((-math.log(1-a))/(t**(2)))
y_range.append(y_num)
if float(conversion_degree_total.values[0]-Top)>conversion_value:
break
#x_array,y_array是我们要拟合的数据
x_array = np.array(x_range)
y_array = np.array(y_range)
k, b = curve_fit(f_1, x_array, y_array)[0]
Ea=-Ra*k
with open(save_floder +'\\'+ 'result.csv','a', newline='',encoding='utf-8-sig') as list_writer:
writer = csv.writer(list_writer)
writer.writerow(Temperature_range[0],Temperature_range[-1],conversion_value*(i+1),Ea)
``````
###### 运行结果及报错内容

Traceback (most recent call last):
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py", line 3361, in get_loc
return self._engine.get_loc(casted_key)
File "pandas_libs\index.pyx", line 76, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\hashtable_class_helper.pxi", line 2131, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas_libs\hashtable_class_helper.pxi", line 2140, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 0

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "d:\OneDrive - 东南大学\python practice\cs2.py", line 37, in
a=float(conversion_degree_total.pop(0))
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py", line 4850, in pop
return super().pop(item=item)
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py", line 870, in pop
result = self[item]
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py", line 942, in getitem
return self._get_value(key)
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py", line 1051, in _get_value
loc = self.index.get_loc(label)
File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
raise KeyError(key) from err
KeyError: 0

• 写回答

#### 1条回答默认 最新

• 快乐小土狗 2022-08-09 10:51
关注

File "d:\OneDrive - 东南大学\python practice\cs2.py", line 37, in
a=float(conversion_degree_total.pop(0))
这个代码在哪里，咋没看见你发的有

本回答被题主选为最佳回答 , 对您是否有帮助呢?
评论

#### 问题事件

• 系统已结题 8月17日
• 已采纳回答 8月9日
• 修改了问题 8月9日
• 赞助了问题酬金5元 8月9日
• 展开全部

#### 悬赏问题

• ¥15 unity3d机械臂
• ¥20 判断两个表是否完全相同
• ¥20 工控机出现散热器转一下停一下这种情况，是什么原因造成的
• ¥15 双显卡，启动docker容器报错。
• ¥15 想编写一个期货跨期套利的程序
• ¥15 一个线程在sleep的时候set一个信号会起作用吗
• ¥50 如何利用matlab将现有的地基雷达回波数据调制为机载雷达回波数据
• ¥100 需求高精度PT100设计电路和算法
• ¥15 单片机配网，继电器开关，广播
• ¥60 Qcustomplot绘制实时动态曲线