python dataframe如何将设置列转换为列表

时间:2018-12-28 23:49:31

标签: python list dataframe set

我试图将set列转换为python数据帧中的列表,但失败了。不知道这样做的最佳方法。谢谢。

这里是示例: 我试图创建一个'c'列,将'b'设置列转换为列表。但仍然设置了“ c”。

data = [{'a': [1,2,3], 'b':{11,22,33}},{'a':[2,3,4],'b':{111,222}}]
tdf = pd.DataFrame(data)
tdf['c'] = list(tdf['b'])
tdf
           a             b             c
0  [1, 2, 3]  {33, 11, 22}  {33, 11, 22}
1  [2, 3, 4]    {222, 111}    {222, 111}

2 个答案:

答案 0 :(得分:1)

使用apply

tdf['c'] = tdf['b'].apply(list)

因为使用list是对整个列进行的操作,而不是一一对应。

或者这样做:

tdf['c'] = tdf['b'].map(list)

答案 1 :(得分:1)

您可以这样做:

import pandas as pd

data = [{'a': [1,2,3], 'b':{11,22,33}},{'a':[2,3,4],'b':{111,222}}]
tdf = pd.DataFrame(data)

tdf['c'] = [list(e) for e in tdf.b]

print(tdf)