python ejecutando error KeyError: "['...'] no en el índice"

Encontré este error al leer datos xlsx usando python para especificar una columna. No sé el motivo específico.

Este error generalmente significa que está intentando acceder a un índice o columna que no existe. Para resolver este error, debe examinar el código que está utilizando y determinar si existe una de las siguientes condiciones:

  1. Nombre de columna o índice incorrecto: compruebe si tiene el nombre de columna o índice correcto en el DataFrame, puede verificarlo mediante el atributo df.columns o df.index.
  2. Datos faltantes: verifique si faltan datos que hacen que algunos índices o columnas sean inaccesibles. Puede usar df.isnull().sum() para verificar la cantidad de datos faltantes y considerar operaciones como el llenado, la eliminación o la interpolación.
  3. Problemas con el tipo de datos: Verifique que el índice o la columna sea el tipo de datos que espera. Por ejemplo, si usa índices de cadena, verifique que estén configurados correctamente como tipos de objetos en lugar de tipos enteros en el marco de datos.

Para este error, mi solución es principalmente intentar restablecer el índice.

df = df .reindex(columnas=columnas) #restablecer índice

Se encontró que el problema se resolvió después de un reinicio de índice.

El código fuente es el siguiente:

import pandas as pd
pd.set_option('display.max_columns', None)                               #显示所有列
pd.set_option('display.unicode.ambiguous_as_wide', True)                 #设置各列对齐
pd.set_option('display.unicode.east_asian_width', True)         
pd.set_option('display.width', 180)                                      #设置打印宽度
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']    #解决中文乱码
import matplotlib.colors as mcolors

src_df = pd.read_excel('./data4.xlsx', sheet_name='淘宝201805')
print('原始数据集:')
print(src_df.head(20))

columns = ['买家会员名','买家支付宝账号','买家应付货款','买家实际支付金额','订单状态','收货人姓名','收货地址','联系手机','订单创建时间','订单付款时间','宝贝标题','宝贝种类','订单备注','宝贝总数量','类别','图书编号']
src_df = src_df.reindex(columns=columns)      #索引重置
print('\n选择需要读入的列:')
df = src_df[columns]
print(df.head(20))

Supongo que te gusta

Origin blog.csdn.net/guigenyi/article/details/128340043
Recomendado
Clasificación