0
說創建大熊貓據幀列,我有這樣一個數據幀:從選擇的值從另一列
df = pd.DataFrame({'a' : list('abcdefghij'), 'b' : (5*[2] + 5*[3])})
而且我想創建一個包含從'a'
列,其在'b'
列索引這些值的另一列( 5次'c'和5次'd')。然後,它會很自然的對我來說,做這樣的事情:
df['c'] = df['a'].iloc[df['b']]
但是,這會產生一個錯誤:
cannot reindex from a duplicate axis
我的問題是
一)我該怎麼辦呢?
b)在哪裏可以瞭解熊貓指數的實際機制,而不是直覺?
我不太明白你想要什麼,'df [df ['a']。isin(df ['b'])]'將返回'b'中存在的'a'但你似乎用基本相同的值覆蓋'b' – EdChum
@EdChum我想,分配給同一列,並使用與索引相同的'a'值有點誤導。我改變了這個問題;這是否更有意義? –
我還是不明白你想要的輸出是什麼,如果你只是想要相關列的值(排除索引),你可以使用'.values':'df ['c'] = df ['a' ] .iloc [df ['b']] values' – Anzel