'module'对象不是下标的意思是什么?

问题描述 投票:0回答:2

考虑到CSV的时间和距离(2000点),我需要计算速度和加速度:

import math

import numpy as np

import pandas as pd

#Excercise 2a

#input the csv

df = pd.read_csv('Data_oscillator.csv')

time = df['Time'].values

distance = df['x(t)'].values

velob = np.zeros(2000)

accelb = np.zeros(2000)

# differentiating distance to find new velocity and acceleration 

for i in range (0,1999):

    velob[i] = (distance[i+1] - distance[i])/(time[i+1] - time [i])

for i in range (0,1999):

    accelb[i] = (velob[i+1] - velob[i])/(time[i+1] - time[i])

我收到以下错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

<ipython-input-28-abd6ce780481> in <module>

      5 # differentiating distance to find new velocity and acceleration

      6 for i in range (0,1999):

----> 7     velob[i] = (distance[i+1] - distance[i])/(time[i+1] - time [i])

      8 

      9 for i in range (0,1999):


TypeError: 'module' object is not subscriptable
python module
2个回答
0
投票

似乎第二行的末尾在时间和[i]之间有一个空格,也许这就是为什么您会收到此错误的原因。


0
投票

变量time的名称与内置Python库冲突,该库可以作为模块导入(请参见here)。不允许将下标[i]应用于此,因此会出现错误消息。尝试将变量名更改为time以外的名称。通常,最好避免使用可能导致与模块发生类似冲突的通用变量名称;而是使用更具描述性的变量名:

© www.soinside.com 2019 - 2024. All rights reserved.