如何向数据框列添加字典?

输入数据框:


          Id               Score            Score1

0        19138359    0.5347029367015973   0.832428474443

1        12134001    0.9347094453553113   0.632535428479

以下数据框需要作为输出:


          Id                             Scores

0        19138359  {'Score': 0.5347029367015973, 'Score1': 0.832428474443}

1        12134001  {'Score': 0.9347094453553113, 'Score1': 0.632535428479}

 Scores = ['Score', 'Score1']      

 d, l = {}, []

 for i, row in publish.iterrows():

     d['Id'] = row['Id']

     d['Scores'] = row[Scores].to_dict()

     l.append(d)

它给出了错误的输出!


qq_笑_17
浏览 47回答 1
1回答

森栏

使用orient="records"参数to_dict:# Get score columnsscore_columns = df.filter(like='Score').columns# Create dict of scores columndf['Scores'] = df[score_columns].to_dict(orient='records')# Drop original score columnsdf.drop(columns=score_columns, inplace=True)[出去]         Id                                                       Scores0  19138359  {'Score': 0.5347029367015973, 'Score1': 0.8324284744429999}1  12134001      {'Score': 0.9347094453553112, 'Score1': 0.632535428479}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python