pandas 多重列名 KeyError报错
df = pd.DataFrame({'col1':[np.NaN,2,3,4],'col2':[2,np.NaN,4,5],'col3':[3,4,5,6]}) df.columns = [['col','col','col'],['col1','col2','col3']]
df['xxx']['col'] = [22,2,22,2] ## 居然会报错
KeyError: 'xxx'
原因如下:
https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
所以你可以用
df.loc[:,('xxx','col')] = [22,2,22,2]
代替
看不懂原因的可以私我!!!虽然我不一定回