Pandas DataFrame将字符串路径映射为整数路径
我有一个像下面这样的 pandas DataFrame
。
In [22]: df = pd.DataFrame({'id' : [1,2,3,4,5,6,7],
'path' : ["abc,cde,eg,ba","abc,cde,ba","abc,yz,zx,eg","abc,cde,eg,ba","abc,cde","abc","cde,eg,ba"]})
In [23]: df
Out[23]:
id path
0 1 abc,cde,eg,ba
1 2 abc,cde,ba
2 3 abc,yz,zx,eg
3 4 abc,cde,eg,ba
4 5 abc,cde
5 6 abc
6 7 cde,eg,ba
我想把这些路径中的所有字符串转换成整数。
abc = 1, cde = 2, eg = 3, ba = 4, yz = 5, zx = 6
最后,我需要得到下面这样的输出。
id path
0 1 1234
1 2 124
2 3 1563
3 4 1234
4 5 12
5 6 1
6 7 234
1 个回答
2
这是我会做的事情
import pandas as pd
df = pd.DataFrame({'id' : [1,2,3,4,5,6,7],
'path' : ["abc,cde,eg,ba","abc,cde,ba","abc,yz,zx,eg",\
"abc,cde,eg,ba","abc,cde","abc","cde,eg,ba"]})
d = {'abc':'1', 'cde':'2', 'eg':'3', 'ba':'4', 'yz':'5', 'zx':'6'}
df['path'] = df['path'].apply(lambda x:int(''.join([d[i] for i in x.split(',')])))