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

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