当您遍历列表并删除相同的列表时,这会将其排除在索引之外。想一想,您正在循环遍历 len(list) 但列表的长度与删除的某些条目的长度不同。
所以列表理解在这里可能会有所帮助,请注意我将 > 和
from datetime import datetime
# datasetup
date=['1947-01-01','1948-01-01','1948-02-02','1951-01-01']
date=[datetime.strptime(each,"%Y-%m-%d") for each in date]
#Control date
startDate = datetime.strptime('1948-1-1',"%Y-%m-%d")
endDate = datetime.strptime('1950-2-1',"%Y-%m-%d")
#list comprehension
date = [each for each in date if each >= startDate and each <= endDate ]
采取进一步的解决方案,从谷歌驱动器下载数据,使用熊猫过滤所需的数据,然后将其绘制以进行分析。
第 1 步- 下载数据
import pandas as pd
import requests
from io import StringIO
gd_url='https://drive.google.com/file/d/1N2J136mog2CZK_XRyL3pxocaoUV8DByS/view?usp=sharing'
file_id = gd_url.split('/')[-2]
download_url='https://drive.google.com/uc?export=download&id=' + file_id
url = requests.get(download_url).text # get the file
csv_raw = StringIO(url)
df = pd.read_csv(csv_raw)
print(df.head(1))
第 2 步:过滤数据
#Control date
startDate = '1948-01-01'
endDate = '1950-02-01'
df_new=df.loc[(df['DATE'] >= startDate) & (df['DATE'] <= endDate)] # as doing string compare, make sure that
#data looks okay otherwise change it to date for comparision
第 3 步:显示图表。
import pandas as pd
import matplotlib.pyplot as plt
df_new.plot()
plt.show()