python pandas 操作集锦

  载入数据集

  df = pd.DataFrame({

  '学生姓名':['小红','小花','小亮','小军','小雷'],

  '性别':['女','女','男','男','男'],

  '语文成绩':[58,78,96,64,85],

  '数学成绩':[90,69,45,35,57],

  '英语成绩':[68,80,46,66,96]

  })

  df

  1、显示语文成绩及格的,学生姓名及语文成绩信息(python pandas显示某列值大于某个值的所有行数据)

  df[df['语文成绩']>=60][['学生姓名','语文成绩']]

  学生姓名 语文成绩

  1 小花 78

  2 小亮 96

  3 小军 64

  4 小雷 85

  显示各科成绩均及格的,学生信息(python pandas显示所有列值均大于某个值的所有行数据)

  df[df['语文成绩']>=60][df['数学成绩']>=60][df['英语成绩']>=60]

  学生姓名 性别 语文成绩 数学成绩 英语成绩

  1 小花 女 78 69 80

  添加一列汇总学生的总成绩(python pandas将指列数据进行求和,生成新的列数据)

  df["总成绩"]=df['语文成绩']+df['数学成绩']+df['英语成绩']

  学生姓名 性别 语文成绩 数学成绩 英语成绩 总成绩

  0 小红 女 58 90 68 216

  1 小花 女 78 69 80 227

  2 小亮 男 96 45 46 187

  3 小军 男 64 35 66 165

  4 小雷 男 85 57 96 238

  显示总成绩最高、最低学生的信息(python pandas显示某列最高值所在的行数据及最低值所在的行数据)

  df[df.总成绩==df.总成绩.max()]

  df[df.总成绩==df.总成绩.min()]

  学生姓名 性别 语文成绩 数学成绩 英语成绩 总成绩

  4 小雷 男 85 57 96 238

  学生姓名 性别 语文成绩 数学成绩 英语成绩 总成绩

  3 小军 男 64 35 66 165

  分类显示男生与女生成绩总和(python pandas 分类求和)

  df.groupby('性别')['总成绩'].sum()

  性别无锡妇科医院排行 http://www.0510bhyy.com/

  女 443

  男 590

  Name: 总成绩, dtype: int64

  按照总成绩对学生信息进行降序排序

  df.sort_values('总成绩',ascending=False) #ascending=True时升序排序

  学生姓名 性别 语文成绩 数学成绩 英语成绩 总成绩

  4 小雷 男 85 57 96 238

  1 小花 女 78 69 80 227

  0 小红 女 58 90 68 216

  2 小亮 男 96 45 46 187

  3 小军 男 64 35 66 165

  #添加一列显示学生成绩平均值(python pandas 求指定行或列的平均值)

  df['平均值']=df.iloc[:,2:5].mean(axis=1)

  学生姓名 性别 语文成绩 数学成绩 英语成绩 总成绩 平均值

  0 小红 女 58 90 68 216 72.000000

  1 小花 女 78 69 80 227 75.666667

  2 小亮 男 96 45 46 187 62.333333

  3 小军 男 64 35 66 165 55.000000

  4 小雷 男 85 57 96 238 79.333333


猜你喜欢

转载自blog.51cto.com/14503791/2433595