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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章