我有这种格式的数据框:
id val
0 294 aa
1 254 bb
2 844 cc
我需要' val'列是一个包含字符串的列表,因为我需要将数据帧与另一个具有以下格式的数据帧连接:
id val
0 294 [aa]
1 254 [bb]
2 844 [cc]
任何人都知道如何才能做到这一点?它必须是一个列表,因为其他数据帧是我们的数据库格式,我想将连接的数据帧插入其中。
答案 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