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