python dataframe如何将集合列转换为列表
我试图在python数据框架中将集合列转换为列表,但失败了。不知道什么是最好的方法。谢谢 以下是一个例子: 我试图创建一个“c”列,将“b”集合列转换为列表。但“c”仍然是固定的python dataframe如何将集合列转换为列表,python,list,dataframe,set,Python,List,Dataframe,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
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}
使用
应用:
tdf['c'] = tdf['b'].apply(list)
因为使用列表
是对整个列的操作,而不是逐个操作
或者:
tdf['c'] = tdf['b'].map(list)
你可以做:
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)
这本来就不应该是数据帧。列中有非标量值,这让自己的生活更加艰难。通过这个结构,你将不会从熊猫身上得到任何好处。相关元:@U9向前,如果你看到映射
,应用
,lambda
,np.矢量化
(完全用词不当)。。。它在Python时间内运行。