【问题标题】:How to add to dataframe column a dict?如何将字典添加到数据框列?
【发布时间】:2020-10-20 14:05:07
【问题描述】:

输入数据框:

          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)

输出错误!

【问题讨论】:

    标签: python python-3.x pandas dataframe dictionary


    【解决方案1】:

    to_dict 中使用orient="records" 参数:

    # Get score columns
    score_columns = df.filter(like='Score').columns
    
    # Create dict of scores column
    df['Scores'] = df[score_columns].to_dict(orient='records')
    
    # Drop original score columns
    df.drop(columns=score_columns, inplace=True)
    

    [出]

             Id                                                       Scores
    0  19138359  {'Score': 0.5347029367015973, 'Score1': 0.8324284744429999}
    1  12134001      {'Score': 0.9347094453553112, 'Score1': 0.632535428479}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-22
      • 2022-12-18
      • 1970-01-01
      • 2018-05-08
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多