我试图将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}
答案 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)