我有一个数据框df
,我想用它来创建新的数据框df1
。
这是df
的一部分(超过400万行):
xnum class/subclass
1 86963 004/665000
51 86963 004/342000
101 86963 004/392000
151 86963 004/437000
201 86963 004/480000
251 86963 004/526000
301 86963 004/255080
351 86939 004/231000
401 81868 029/603200
451 81868 004/665000
501 81868 029/890100
551 69931 029/603200
601 69931 015/199000
651 69931 015/230000
701 75047 029/603200
751 75047 123/653000
801 75047 123/1690TC
851 75047 123/185700
901 75047 004/665000
951 75047 123/190900
我想创建一个字典,其中键是class/subclass
,值是每个出现在xnum
行上的class/subclass
。
对于上述df,一个键:值为"004/665000": "86963", "81868", "75047"
。
请注意,xnum
和class/subclass
的dtype是对象,因为我需要保留前导零。
我的问题是:如何从数据框中创建字典?谢谢
答案 0 :(得分:1)
[20]Qdf = df.groupby('class/subclass')['xnum'].apply(list)
Qdf.to_dict()
[20] {'004/231000': [86939],
'004/255080': [86963],
'004/342000': [86963],
'004/392000': [86963],
'004/437000': [86963],
'004/480000': [86963],
'004/526000': [86963],
'004/665000': [86963, 81868, 75047],
'015/199000': [69931],
'015/230000': [69931],
'029/603200': [81868, 69931, 75047],
'029/890100': [81868],
'123/1690TC': [75047],
'123/185700': [75047],
'123/190900': [75047],
'123/653000': [75047]}
答案 1 :(得分:1)
var x = new Collection<ObjectA>
{
new ObjectA(),
new ObjectA(),
null
};
var result = DoStuff(x, DoStuff);