我试图将一个集合列转换为 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 c0 [1, 2, 3] {33, 11, 22} {33, 11, 22}1 [2, 3, 4] {222, 111} {222, 111}
2 回答
智慧大石
TA贡献1946条经验 获得超3个赞
使用apply
:
tdf['c'] = tdf['b'].apply(list)
因为使用list
是对整列而不是一一进行。
或者做:
tdf['c'] = tdf['b'].map(list)
MM们
TA贡献1886条经验 获得超2个赞
你可以这样做:
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)
添加回答
举报
0/150
提交
取消