Python 3.x 将DataFrame OrderedSet列转换为列表

Python 3.x 将DataFrame OrderedSet列转换为列表,python-3.x,pandas,list,apply,Python 3.x,Pandas,List,Apply,我有一个熊猫数据框,一列,是一个OrderedSet,如下所示: df OrderedSetCol 0 OrderedSet([172175436225582550234 23440348550040]) 这是: from ordered_set import OrderedSet 我正在尝试将此列转换为列表: df['OrderedSetCol_list'] = df['OrderedSetCol'].apply(lambda x: ast.literal_eval(str("

我有一个熊猫数据框,一列,是一个
OrderedSet
,如下所示:

df

OrderedSetCol
0 OrderedSet([172175436225582550234 23440348550040])
这是:

  from ordered_set import OrderedSet
我正在尝试将此列转换为列表:

df['OrderedSetCol_list'] = df['OrderedSetCol'].apply(lambda x: ast.literal_eval(str("\'" + x.replace('OrderedSet(','').replace(')','') + "\'")))
代码成功执行,但我的列类型仍然是
str
,而不是
list

type(df.loc[0]['OrderedSetCol_list'])

str
我做错了什么

编辑:当我从磁盘读取文件时,我的
OrderedSetCol
也是一个字符串列,该文件最初是从OrderedSet列保存的

预期产出:

[1721754, 3622558, 2550234, 2344034, 8550040]

您可以应用
列表
调用,就像您对
OrderedSet
本身所做的那样:

df = pd.DataFrame({'OrderedSetCol':[OrderedSet([1721754, 3622558, 2550234, 2344034, 8550040])]})
df.OrderedSetCol.apply(list)
输出:

[1721754, 3622558, 2550234, 2344034, 8550040]

如果您的数据类型为字符串列:

df.OrderedSetCol.str.findall('\d+')

请将您的示例数据框与具有预期输出的
OrderedSetCol
共享。完成,希望对您有所帮助。