3
考慮下面的代碼:爲什麼一列停留在數據幀的指數即使它被丟棄
>>> data = pandas.DataFrame({ 'user': [1, 5, 3, 10], 'week': [1, 1, 3, 4], 'value1': [5, 4, 3, 2], 'value2': [1, 1, 1, 2] })
>>> data = data.pivot_table(index='user', columns='week', fill_value=0)
>>> data['target'] = [True, True, False, True]
>>> data
value1 value2 target
week 1 3 4 1 3 4
user
1 5 0 0 1 0 0 True
3 0 3 0 0 1 0 True
5 4 0 0 1 0 0 False
10 0 0 2 0 0 2 True
現在,如果我把這叫做:
>>> 'target' in data.columns
True
它返回True
預期。但是,爲什麼這也會返回True
?
>>> 'target' in data.drop('target', axis=1).columns
True
我怎樣才能從表刪除列所以它不再索引和上面的語句返回False
?
注意在0.20.0(約1個月),這將是在合併:https://github.com/pandas-dev/pandas/pull/15694,這將允許''data.columns = data.columns.remove_unused_levels()''來解決這個問題(它不是自動的,但可以緩解的東西) – Jeff