我有一个 df,其中一列“vals”包含字符串内的列表。我想将其转换为两列“val1” 和'vals2。我尝试过拆分和剥离字符串,但找不到对 df 中的每一行执行此操作的实现。
vals
'[12.1, 15.0]'
val1 val2
12.1 15.0
最佳答案
使用strip
与 split
如有必要,转换为 float ,最后添加前缀 add_prefix
:
df = pd.DataFrame({'vals':["'[12.1, 15.0]'","'[12.1, 15.0]'"]})
df = (df['vals'].str.strip("'[]")
.str.split(', ', expand=True)
.astype(float)
.add_prefix('val'))
如果没有缺失值并且性能很重要:
df = pd.DataFrame([x.strip("'[]").split(', ') for x in df['vals']],
columns = ['val1', 'val2']).astype(float)
关于python - 将包含字符串内列表的数据框列拆分为两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54110589/