五秒速的刀 2021-03-28 17:14 采纳率: 100%
浏览 88
已采纳

python中用pandas处理数据

 

对于这种csv文件,用pandas怎么可以将红圈部分的数据补全,每个学生都考了四门,怎样可以进行数据补全,整个csv文件也没有空值。

求大佬支援

 

  • 写回答

3条回答 默认 最新

  • 关注

    试下这种方式:

    先构造一个姓名和科目的二维表, 然后merge. 可以对缺失值进行填充

    import pandas as pd
    import numpy as np
    
    data = pd.read_excel('c:/users/yyz/desktop/123.xlsx')
    
    lis1 = data['科目'].unique().tolist()
    lis2 = data['姓名'].unique().tolist()
    
    data2 = pd.DataFrame([[i,j] for i in lis2 for j in lis1],columns=['姓名','科目'])
    
    result = pd.merge(data,data2,on=['姓名','科目'],how='outer').sort_values(by=['姓名','科目']).reset_index(drop=True)
    print(result)
               科目          姓名    成绩
    0   algorithm  zhaoyuchen  21.0
    1    computer  zhaoyuchen  22.0
    2     english  zhaoyuchen  20.0
    3        math  zhaoyuchen   NaN
    4   algorithm      zhouqi  19.0
    5    computer      zhouqi   NaN
    6     english      zhouqi  18.0
    7        math      zhouqi   NaN
    8   algorithm     zhoutao  15.0
    9    computer     zhoutao  17.0
    10    english     zhoutao  14.0
    11       math     zhoutao  16.0
    12  algorithm         zss  11.0
    13   computer         zss  13.0
    14    english         zss  10.0
    15       math         zss  12.0
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。