【问题标题】:Convert string representation of list to list in dataframe column [duplicate]将列表的字符串表示形式转换为数据框列中的列表[重复]
【发布时间】:2019-11-11 20:16:35
【问题描述】:

我有这样的 cvs 文件:

number    file
  1       [file1,file2]
  2       [file1]
  3       [file3,file4]

file 的数据类型为list。但是当我再次读取该文件时,我得到的列file 的数据类型是str。输出是这样的:

>>> df = pd.read_csv('file.csv')
>>> for col in df:
>>>    print (df[col].apply(type))
<class 'int'>
<class 'int'>
<class 'int'>
<class 'str'>
<class 'str'>
....

但是,我想将该值作为列表读取。我试过这个 [https://stackoverflow.com/a/1894296/10907221].但我不能将它应用于数据框。有人可以帮我解决这个问题吗?

谢谢

【问题讨论】:

标签: python python-3.x csv dataframe


【解决方案1】:

如果您真的希望每个数字有多个文件,您应该将输入转换为:

number    file
  1       file1
  1       file2
  2       file1
  3       file3
  3       file4

然后将它们选择为您可以执行的列表:

df[df["number"] == 1]

或者你想要的任何数字。

【讨论】:

    猜你喜欢
    • 2017-11-24
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 2019-09-14
    • 2017-01-30
    • 2012-06-02
    • 2021-04-13
    相关资源
    最近更新 更多