Pandas数据框 - 包含字符串列表

时间:2017-04-07 08:42:16

标签: python list pandas join dataframe

我有这种格式的数据框:

    id  val
0   294 aa
1   254 bb
2   844 cc

我需要' val'列是一个包含字符串的列表,因为我需要将数据帧与另一个具有以下格式的数据帧连接:

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

任何人都知道如何才能做到这一点?它必须是一个列表,因为其他数据帧是我们的数据库格式,我想将连接的数据帧插入其中。

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分: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