0
IPython的一個有用功能是它的製表符完成功能,除此之外無需記憶pandas.DataFrame
列名。製作IPython Tab-Complete分層熊貓DataFrames
例如,假設我們有
df = pd.DataFrame({'bar': [1, 2], 'baz': [3, 4], 'bap': [5, 6]})
給df
作爲
bap bar baz
0 5 1 3
1 6 2 4
然後我們可以鍵入
df.<Tab>
,它會顯示bap
,bar
和baz
(等等)作爲成員,作爲w試圖完成它們。
不幸的是,這個有用的功能在層次數據框中部分消失。例如,如果我們改變的事情
df = pd.DataFrame({
('foo', 'bar'): [1, 2],
('foo', 'baz'): [3, 4],
('bap', ''): [5, 6]})
給df
作爲
bap foo
bar baz
0 5 1 3
1 6 2 4
然後df.<Tab>
不會自動完成bap
或foo
。
什麼是正確的方式來得到這個工作?我已經寫了一個黑客這樣做(下面的答案),但不高興的依賴Python monkey-patching。其他答案將受到歡迎。