Traceback (most recent call last): File "D:\pythonProject9\计算内阻.py", line 115, in <module> U_delt = data.loc[j + 1][k] - data.loc[j][k] File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py", line 981, in __getitem__ return self._get_value(key) File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py", line 1089, in _get_value loc = self.index.get_loc(label) File "D:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py", line 3804, in get_loc raise KeyError(key) from err KeyError: 108 进程已结束,退出代码1
时间: 2023-08-05 22:05:43 浏览: 163
根据你提供的错误信息,看起来是由于 `data` 的索引超出范围导致的错误。
这可能是由于 `data` 数据的索引不是连续的整数值,而是包含缺失值或非整数索引。这样,使用 `data.loc[j + 1][k]` 和 `data.loc[j][k]` 这样的方式来访问数据可能会导致索引错误。
为了解决这个问题,你可以尝试使用 `.iloc` 来访问数据,因为它使用基于整数的位置索引访问数据,而不是依赖于具体的索引值。
以下是修改后的代码:
```python
R_list = [] # 创建一个空列表来存储计算结果
for i in range(len(F)):
data = data.iloc[F[i][0]:F[i][1] + 1, :]
data = data.reset_index(drop=True) # 重置列表索引
for j in range(len(data) - 2):
if data[SumCurrent_Title][j + 1] - data[SumCurrent_Title][j] > 9.5:
print('前一时刻:', data[SumCurrent_Title][j], '后一时刻:', data[SumCurrent_Title][j + 1])
print(j)
I_delt = data[SumCurrent_Title][j + 1] - data[SumCurrent_Title][j]
for k in range(len(Celllist)):
U_delt = data.iloc[j + 1, k] - data.iloc[j, k]
R = U_delt / I_delt
print('总内阻R:', R * 1000)
R_list.append(R * 1000)
# 在循环结束后,R_list 将包含所有计算结果
print("计算结果列表: ", R_list)
```
请注意,我将 `data.loc[j + 1][k]` 和 `data.loc[j][k]` 修改为 `data.iloc[j + 1, k]` 和 `data.iloc[j, k]`,以使用基于整数位置索引的方式访问数据。
如果仍然遇到问题,请提供更多关于数据和代码的信息,以便我能够更好地帮助你分析和解决问题。
阅读全文
相关推荐


















