我想洗掉以下資料框中的未命名列df(從此
print(df.columns)
出去:
Index([ 'Code', 'Area', 2002, 'Unnamed: 3',
2003, 'Unnamed: 5', 2004, 'Unnamed: 7',
2005, 'Unnamed: 9', 2006],
dtype='object')
有人可以幫忙嗎?謝謝。
我嘗試了幾種方法,但出現錯誤,例如:
解決方案1:
df.loc[:, ~df.columns.str.contains('^Unnamed')]
出去:
`TypeError: bad operand type for unary ~: 'Index'`
解決方案2:
remove_cols = [col for col in df.columns if 'Unnamed' in col] df.drop(remove_cols, axis='columns', inplace=True)
出去:
`TypeError: argument of type 'int' is not iterable`
解決方案3:
df.drop(df.columns[df.columns.str.contains('Unnamed',case = False)],axis = 1, inplace = True)
出去:
ValueError: Cannot mask with non-boolean array containing NA / NaN values
df.columns.str.contains('^Unnamed')
出去:
Index([False, False, nan, True, nan, True, nan, True, nan, True,
nan, True, nan, True, nan, True, nan, True, nan, True,
nan, True, nan, True, nan, True, nan, True, nan, True,
nan, True, nan, True, nan, True, nan, True, nan, True,
nan, True],
dtype='object')
uj5u.com熱心網友回復:
這是解決您的問題的一種方法。
cols = [col for col in df.columns.values if 'Unnamed' not in str(col)]
df = df[cols]
uj5u.com熱心網友回復:
到目前為止我發現的唯一解決此問題的代碼:
df.drop(df.filter(regex="Unname"), axis=1, inplace=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/525449.html
上一篇:使用df.replace可以用除np.nan/None之外的任何值替換pd.NaT
下一篇:在多索引AND列上合并資料框
