当前位置: 首页 > 面试题库 >

将一列字符串转换为pandas列表

艾弘义
2023-03-14
问题内容

我在pandas数据框中的某个列的类型有问题。基本上,该列以字符串形式保存在csv文件中,我想将其用作元组,以便能够将其转换为数字列表。接下来是一个非常简单的csv:

ID,LABELS
1,"(1.0,2.0,2.0,3.0,3.0,1.0,4.0)"
2,"(1.0,2.0,2.0,3.0,3.0,1.0,4.0)"

如果使用函数“ read_csv”加载它,则会得到字符串列表。我试图转换为列表,但是得到了字符串的列表版本:

df.LABELS.apply(lambda x: list(x))

返回:

['(','1','.','0',.,.,.,.,.,'4','.','0',')']

关于如何做到这一点的任何想法吗?

谢谢。


问题答案:

您可以使用ast.literal_eval,这将给您一个元组:

import ast
df.LABELS = df.LABELS.apply(ast.literal_eval)

如果确实需要列表,请使用:

df.LABELS.apply(lambda s: list(ast.literal_eval(s)))


 类似资料:
  • 我有一个名为的df,如下所示。tag_position既可以是字符串,也可以是列表。但我希望他们都是线。我怎么能这么做?我还想去掉结尾处的空白。 输入 预期产出

  • 我对任何编程都非常陌生,所以请原谅我的无知,因为我不知道如何做一些看起来很简单的事情。 我所要做的就是获取任何字符串数组(称之为名称),比如: 并将其从列表中删除,并将其转换为字符串: 我似乎无法理解这一点,也找不到类似的帖子。

  • 问题内容: 我有一个pandas数据框。列之一包含一个列表。我希望该列为单个字符串。 例如,我的列表[‘one’,’two’,‘3’]应该简单地是‘1、2、3’ 给我[‘一个,两个,三个],[‘四个’,’五个’,’六个’],其中第二个列表来自下一行。不用说,对于数百万行,这种跨行连接不仅是不正确的,而且还会杀死我的内存。 问题答案: 在转换列表之前,您当然不应该转换为字符串。尝试: 另请注意,会将

  • 问题内容: 我有一个列表格式,如下所示: 如何转换为包含如下所示元素的列表: 问题答案: 用途: 或使用将其视为JSON : 以Python文字作为输入(因此Python源代码中的文本将为您提供一个值),以JSON输入。 演示: 只有当您的输入字符串中包含多个整数列表时,两者之间的区别才会发挥作用。JSON字符串包含unicode,在Python 2上无法正确解释,并且JSON类型只是支持的一部分

  • JavaScript具有 Java有这样的东西吗?我知道我可以用StringBuilder自己来添油加醋: ...但是如果类似的东西已经是JDK的一部分,那么这样做就没有意义了。

  • 问题内容: 我有一个清单 我想将其转换为字典 我该怎么做? 问题答案: 采用: 返回: 如果需要整数,请在以下位置更改分配: 这将给出: