Python 将索引转换为切片或整数:";TypeError:列表索引必须是整数或片,而不是str";
我已经从我的数据帧(df1)中创建了列表,我试图减去值(高潮和低潮)并绘制它们,但一直被最大值卡住。这是我的密码:Python 将索引转换为切片或整数:";TypeError:列表索引必须是整数或片,而不是str";,python,typeerror,Python,Typeerror,我已经从我的数据帧(df1)中创建了列表,我试图减去值(高潮和低潮)并绘制它们,但一直被最大值卡住。这是我的密码: import pandas as pd import numpy as np df1 = pd.read_csv (r'C:\Intel\Solinst-cleaned up\yellow.csv', skiprows = 13, encoding= 'unicode_escape', parse_dates=[['Date', 'Time']]) # Normal condit
import pandas as pd
import numpy as np
df1 = pd.read_csv (r'C:\Intel\Solinst-cleaned up\yellow.csv', skiprows = 13, encoding= 'unicode_escape', parse_dates=[['Date', 'Time']])
# Normal condition (From Jan 20th to Feb 11th)
start = 50 # First row to consider
stop = 3200 # Last row to consider
interval = 75 # The desired chunk size
x=df1['Date_Time'][50:125]
y1=[]
for i in range(start, stop, interval):
y1.append(df1["Mlevel"][i:(i + interval)])
#y1 = y1.reset_index(drop=True)
hightide=[]
for i in range(start, stop, interval):
hightide=max(y1[1].loc[y1['Mlevel'][i:(i + interval)]])
我得到:
文件“C:/Users/mr179/Desktop/Research/PhD/codes/test.py”,第42行,在
高潮=最大值(y1[1]。loc[y1['Mlevel'][i:(i+区间)])
TypeError:列表索引必须是整数或片,而不是str
y1看起来像这样:
在询问与代码相关的问题时,请始终为所使用的语言添加标记。它有助于将问题传递给能够回答问题的人,并且在用户搜索与该语言相关的答案时也会有所帮助。此外,在询问错误时,您应该始终在问题正文中包含准确、完整的错误消息,而不仅仅是引用错误的一部分。您应该添加该错误消息。您可以将
y1=len(y1)
更改为y1len=len(y1)
。您已经用一个整数覆盖了精心构造的数组。即使这样,它也不会工作,因为最后一个循环认为它是字典或数据帧。这只是一个行列表。为什么最后一件事是一个循环?您不能在其中使用i
。y1=len(y1)
将y1
转换为整数,您随后尝试将其视为列表(或类似的数据结构)。你认为y1=len(y1)
有什么作用?我看不出这行有什么动机。你们能粘贴准确的错误吗?谢谢你们,我添加了完整的错误。在编辑代码并删除len(y1)之后,现在我得到了“TypeError:列表索引必须是整数或片,而不是str”。但我列表中的数据是浮点型的。