我有以下代碼:A = pd.DataFrame([[1, 2], [1, 3], [4, 6]], columns=[['att1', 'att2']])
A['idx'] = ['a', 'b', 'c']
A在我這樣做之前它工作正常(嘗試將列“idx”設置為數據幀的索引)A.set_index('idx', inplace=True)這會引發錯誤TypeError: only integer scalar arrays can be converted to a scalar index這是什么意思 ?
1 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
錯誤是當你創建A時
columns = [['att1', 'att2']]
如果你打印A.columns你會得到:
MultiIndex([('att1',),
('att2',),
( 'idx',)],
)
所以'idx'并不是真正在你的列中供你設置索引?,F在,這可以工作:
A.set_index(('idx',))
并給出:
att1 att2
(idx,)
a 1 2
b 1 3
c 4 6
A但是,您應該僅使用以下命令來修復您的創建:
columns = ['att1', 'att2']
添加回答
舉報
0/150
提交
取消