繁体   English   中英

如何将包含数组的字符串转换为python中的数组?

[英]How to convert string including an array into an array in python?

我正在处理生物信息的分配。

我已将一组分子的 SMILES 转换为指纹 (fp),数据框如下所示: 在此处输入图像描述

指纹类型为:
在此处输入图像描述

然后使用 to_csv 将文件保存到 CSV 文件

然后用pd.read_csv读取文件,指纹变成一个字符串,看起来像: 在此处输入图像描述

我将 \n 替换为空格, 在此处输入图像描述 ,但类型仍然是一个字符串。

我使用了各种方法:

  1. ast.literal_eval(fp_df['fp']) ,然后出现错误: ValueError: malformed node or string: ,来自此处投票最多的答案
  2. list(fp_df['fp'])不能改变字符串的类型
  3. [n.strip() for n in x]不起作用: 项目清单

其他的方法也都试过了。

我可以请你帮忙处理一下吗? 提前致谢。

如果您的价值如下所示:

"[1 0 0 1 1 0]"

然后你可以通过以下方式将它变成一个列表:

values = value.lstrip("[").rstrip("]").split()

但这些值仍将是数字字符串,因此您可以通过以下方式强制转换为int

values = [int(n) for n in value.lstrip("[").rstrip("]").split()]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM