在pandas中,是否可以同时将新列映射并插入数据框中的特定索引/位置?
我可以使映射工作(来自多键字典),在我的数据帧末尾成功创建一个新列。
#using multi_key_dict https://pypi.python.org/pypi/multi_key_dict
from multi_key_dict import multi_key_dict
k = multi_key_dict()
k['AAAA', 'BBBB'] = 'San Francisco'
k['CCCC'] = 'Los Angeles'
k['DDDD', 'EEEE', 'FFFF',] = 'San Diego'
# Add new column 'location' to df, based on results of mapping dictionary K to existing column 'codes'
df['location'] = df['codes'].map(k.get)
我知道我可以(重新)索引并指定排序顺序。
此外,我知道我可以在数据框中的指定索引/位置插入列:
df.insert(index,name,value)
如果我可以对映射进行编码并将列插入指定的索引,那将会很好/优雅。像这样的概念猜测:
df['location'] = df['codes'].map(k.get).insert(5,'location')
答案 0 :(得分:0)
我在映射和插入后进行了重新排序/排序,使用...
原始列顺序:['col1', 'col2', 'col3']
使用:df = df[['col3', 'col2', 'col1']]
重新排序
答案 1 :(得分:0)
df.insert(5,'location',df['codes'].map(k.get))