KeyError: 'labels [0] not contained in axis'

出错代码:

import pandas as pd

df_A = pd.DataFrame([['2018-05-06', 300],
                    ['2018-05-12', 500],
                    ['2018-05-19', 600]], columns=['TechDate', 'name'])
df_A = df_A.drop(0)
df_A = df_A.drop(0)

当时是想删除前面的两个数

但发现在连续drop的时候报了错,错误提示就是0的所有不在axis中,于是修改一下,看一下df的index

import pandas as pd

df_A = pd.DataFrame([['2018-05-06', 300],
                    ['2018-05-12', 500],
                    ['2018-05-19', 600]], columns=['TechDate', 'name'])
print(df_A, df_A.index)
df_A = df_A.drop(0)
print(df_A, df_A.index)

可以发现,pandas其实自己建立了一个索引,但是drop的时候会删除这个‘0’索引,那么就好解决了,重新建一个索引即可

使用reset_index(drop=True方法)
import pandas as pd

df_A = pd.DataFrame([['2018-05-06', 300],
                    ['2018-05-12', 500],
                    ['2018-05-19', 600]], columns=['TechDate', 'name'])
print(df_A)
df_A = df_A.drop(0)
df_A = df_A.reset_index(drop=True)
print(df_A)
df_A = df_A.drop(0)
df_A = df_A.reset_index(drop=True)
print(df_A)

发布了119 篇原创文章 · 获赞 14 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_38115310/article/details/102777649