python - 将包含字符串内列表的数据框列拆分为两列

标签 python string pandas split

我有一个 df,其中一列“vals”包含字符串内的列表。我想将其转换为两列“val1” 和'vals2。我尝试过拆分和剥离字符串,但找不到对 df 中的每一行执行此操作的实现。

    vals
'[12.1, 15.0]'

val1  val2
12.1  15.0

最佳答案

使用stripsplit如有必要,转换为 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/

相关文章:

c++ - 如何将字符串变量内容限制为某些在 6 字节之后没有定义字节(即 6 字节)的所有内容都应截断?

python - 如何返回放入字典中的第一个最高值

python - 无法在 Centos 6.5 上安装 policycoreutils-python

python - 如何在路径的上下文中使用 '~'(波浪号)?

无法获取 arr[] : Implicit conversion loses integer precision: 'unsigned long' to 'int' for strlen(arr) 的长度

python - 我想将 pandas DataFrame 中的两列相乘并将结果添加到新列中

python - python 中的有条件颜色文本

python - Pandas 将函数应用于列列表会引发 TypeError

python - 使用 numpy 将棕褐色效果应用于 3D 数组

Python CGIHTTPServer 崩溃并显示 "OSError: [Errno 13] Permission denied"