由于某种原因,我的dataframe列之一中填充了列表作为其值。
(ex): "Book Date" - [01/20/2018]
我试图通过同时应用str(x)和''.join(x)方法将其变成字符串,但是它不起作用。
df['Book Date'] = df['Book Date'].map(lambda x: ''.join(x))
您能否先让我知道我应该怎么做以及如何避免这种情况?
先感谢您!
答案 0 :(得分:1)
使用apply + join()和map()以便首先将列表转换为字符串。
示例DataFrame:
>>> df1
Book Date
1 [01/20/2018]
2 [01/22/2018]
结果:
>>> df1['Book Date'].apply(lambda x: ','.join(map(str, x)))
1 01/20/2018
2 01/22/2018
Name: Book Date, dtype: object
OR
您可以使用astype(str)
将列表转换为str,然后使用replace删除[ ]
和'
。
>>> df1['Book Date'].astype(str).str.replace('\[|\]|\'', '')
1 01/20/2018
2 01/22/2018
Name: Book Date, dtype: object