【问题标题】:index locator error IndexError: single positional indexer is out-of-bounds索引定位器错误 IndexError:单个位置索引器超出范围
【发布时间】:2019-12-19 20:05:47
【问题描述】:

我正在编写 python 代码以使用 gspread 访问谷歌表格中的数据。

    import gspread
    from oauth2client.service_account import ServiceAccountCredentials
    from pprint import pprint
    import pandas as pd
    scope =['https://www.googleapis.com/auth/spreadsheets']
    creds = ServiceAccountCredentials.from_json_keyfile_name("creds.json", scope)
    client = gspread.authorize(creds)

    sheet = client.open("tutorial") # Open the spreadhseet
    worksheet = sheet.get_worksheet(1)
    data = pd.DataFrame(worksheet.get_all_records()) 
    car = "car"
    mpg = "mpg"
    city_mpg_data = data[data['city mpg'] == mpg]
    car_city_mpg_data = city_mpg_data[city_mpg_data['Make'] == car]
    car_city_mpg_data = car_city_mpg_data.reset_index()
    get = car_city_mpg_data.iloc[2]

    print("Okay. You are looking for {} {}.".format(get[6], get[8]))

我收到了错误:

IndexError:单个位置索引器超出范围。
请提出我做错了什么?

【问题讨论】:

  • 请添加完整的回溯,包括报告的代码行号。

标签: python-3.x pandas gspread


【解决方案1】:

IndexError: single positional indexer is out-of-bounds 表示您正在尝试访问不存在的元素。

快速谷歌搜索显示,这是 pandas 数据帧iloc 方法引发的错误。

get = car_city_mpg_data.iloc[2] 方法尝试访问第三个数据帧行,当数据帧较少时。

我会在该行之前添加print(car_city_mpg_data) 并从那里进行调查。

【讨论】:

    猜你喜欢
    • 2018-03-03
    • 1970-01-01
    • 2023-03-30
    • 2017-08-02
    • 2019-03-21
    • 2020-12-24
    • 1970-01-01
    • 2019-04-13
    相关资源
    最近更新 更多