在具有 2 个 GPU 机器的 Windows 10 上基于 Anaconda3 在 Spyder 上使用 Python 3.5:
我正在使用 Sensei Japanese Karate Masters Dataset 来检查哪些是过去 5 年被授予硕士学位的大师,并将他们的所有行复制到另一个 Pandas Dataframe sensei5yrs 以进行进一步处理:
我需要从一个 Pandas 数据帧“sensei”逐行复制到另一个 Pandas 数据帧 sensei5yrs 我正在使用以下代码,但它失败了:
for i in range(0, len(sensei)-1):
#print(sensei.iloc[i]['Year'], sensei.iloc[i]['Date']
chk=sensei.iloc[i]['Year']
print("Checker: ",chk, sensei)
if str(chk) in ['2017','2016','2015','2014','2013']:
print("Found one year")
sensei5yrs.iloc[i]=sensei.iloc[i]
错误出现在上述代码的最后一行:
IndexError: single positional indexer is out-of-bounds
print(sensei5yrs)
Empty DataFrame
Columns: [Date, OpenScore, HighScore, LowScore, CloseScore, Adj CloseScore,
VolumeFights, Year]
sensei pandas 数据框具有以下结构和数据:
print(sensei)
Columns: [Date, OpenScore, HighScore, LowScore, CloseScore, Adj CloseScore,VolumeFights, Year]
0 2000-11-23 3837.110107 3871.340088 3826.419922 3852.399902 3852.399902 12800 2000
1 2017-11-24 3860.520020 3889.560059 3856.580078 3868.340088 3868.340088 12800 2017
For 循环遇到 2017 时的错误,例如“年份”列中的错误如下:
IndexError: single positional indexer is out-of-bounds
PS:上面的代码运行良好,直到在“年份”中遇到上述任何年份时立即遇到具有 Year==['2017','2016','2015','2014','2013'] 的行' 列它抛出上面的 IndexError
非常感谢所有试图解决这个难题的人。