Python 如何从熊猫中杂乱无章的字典式数据框中提取分数?

Python 如何从熊猫中杂乱无章的字典式数据框中提取分数?,python,pandas,dictionary,transformation,mining,Python,Pandas,Dictionary,Transformation,Mining,我是熊猫的新手,我有一个数据框,看起来像这样: 9861:1.0 9620:1.0 9865:1.0 30260:1.0 30026:1.0 10770:1.0 10772:1.0 10771:0.5 10774:0.5 10773:0.0 9750:1.0 9755:1.0 9632:1.0 30255:1.0 30012:1.0 30015:1.0 30251:1.0 11639:1.0 看起来像字典

我是熊猫的新手,我有一个数据框,看起来像这样:

9861:1.0    9620:1.0    9865:1.0    30260:1.0   30026:1.0   10770:1.0   
10772:1.0   10771:0.5   10774:0.5   10773:0.0   9750:1.0    9755:1.0    
9632:1.0    30255:1.0   30012:1.0   30015:1.0   30251:1.0   11639:1.0   
看起来像字典,但条目不按列排序。冒号前的字符串是id,冒号后的字符串是分数。我需要一个函数来检索所有行的特定值。结果应该是一个新的数据框架:

1) 保留每行的索引(代码段中没有显示,但它位于原始数据帧中)

2) 创建列,其标题是我指定的ID,单元格中的数据是分数(假设列9865应包含当前位于“9865:”之后的分数)

你的帮助真是太棒了。多谢各位

d1 = df.stack().str.split(':', expand=True)

s = pd.Series(
    d1.iloc[:, 1].values,
    [d1.index.get_level_values(0), d1.iloc[:, 0].values]
)

s

0  9861     1.0
   9620     1.0
   9865     1.0
   30260    1.0
   30026    1.0
   10770    1.0
1  10772    1.0
   10771    0.5
   10774    0.5
   10773    0.0
   9750     1.0
   9755     1.0
2  9632     1.0
   30255    1.0
   30012    1.0
   30015    1.0
   30251    1.0
   11639    1.0
dtype: object
您可以将您的数据作为参考

s.loc[(0, 9865)]

1.0
您可以取消堆叠该结果并将其引用为数据帧

s.unstack().loc[0, 9865]

1.0

您是否可以发布一个代码示例,说明如何创建数据,或者更精确地说明格式(也可以使用代码格式)。现在,似乎有一个数据帧,每个列中都有一个dict条目OK,接近了。但是我发布的数据框中的每个条目都有一个我想要保留的索引。每一行我都有相同的一对,但它们不整齐。因此,在第一列的第三行中,11639:1.0,然后在第50行和第45列中,我有11639:0.5,等等。我要做的是创建一个新的数据帧来保存索引,为所有条目(即第11639列)在对的第一部分创建一个唯一的列,并且单元格将在冒号后变为浮点(即第三排为1.0,第45排为0.5)。