2017-04-07 55 views
2

我对这个格式的数据帧的名单:熊猫据帧 - 有柱用绳子

id val 
0 294 aa 
1 254 bb 
2 844 cc 

我需要的“VAL”列是里面的字符串列表,因为我需要加入数据框与另一个这种格式的数据帧:

id val 
0 294 [aa] 
1 254 [bb] 
2 844 [cc] 

任何人都知道我可以做到这一点?它必须是一个列表,看看其他数据框是我们的数据库的格式,我想要插入连接的数据框。

回答

1

我建议不要存储非标量类型,但如果你坚持,你可以使用apply和建设的每一行名单:

In [53]: 
df['val'] = df['val'].apply(lambda x: [x]) 
df 

Out[53]: 
    id val 
0 294 [aa] 
1 254 [bb] 
2 844 [cc] 
0

您可以使用:

df['val'] = [[x] for x in df['val'].values.tolist()] 
print (df) 
    id val 
0 294 [aa] 
1 254 [bb] 
2 844 [cc] 

但更好的是使用标量,删除列表最好str[0]

print (df) 
    id val 
0 294 [aa] 
1 254 [bb] 
2 844 [cc] 

df['val'] = df['val'].str[0] 
print (df) 
    id val 
0 294 aa 
1 254 bb 
2 844 cc