pandas 使用

对于操作csv文件,pandas是一个很好的工具,比如分析部分学生的成绩:

import pandas as pd
#读入数据文件
data1=pd.read_csv('students_grade1.csv')
>>>>
    	Unnamed: 0	   学号	   语文	数学 英语
0	             0   20167598	89	 89	 89
1	             1   20167589	85	 85	 85
2	             2   20164569	52	 52	 52

data的数据类型是dataframe

这时想要选择全部学生的语文成绩

data1['语文']
>>>>
0    89
1    85
2    52
Name: 语文, dtype: int64

pandas的每一行都是可以用于计算的,比如计算出总成绩并加在最后一行

data1.loc[:,'总成绩']=data1['语文']+data1['数学']+data1['英语']
data1
>>>>
     	Unnamed: 0	  学号	   语文	数学 英语 总成绩
0	             0  20167598	89	89	 89	   267
1	             1  20167589	85	85	 85	   255
2	             2  20164569	52	52	 52	   156

其中Unmanned:0是pandas加的一个索引,你可以删除他,1表示删除所在列

data1=data1.drop('Unnamed: 0',1)
data1
>>>>
       学号	   语文	数学 英语 总成绩
0	20167598	89	 89	  89	267
1	20167589	85	 85   85	255
2	20164569	52	 52	  52	156

选择总成绩大于200小于260的学生

data1[(data1['总成绩']>200)&(data1['总成绩']<260)]
>>>>
       学号	   语文	数学 英语 总成绩
1	20167589	85	85	  85	255

再读入一个学生成绩,并把两个数据合并起来

#读入数据
data2=pd.read_csv('students_grade2.csv')
data2=data2.drop('Unnamed: 0',1)

#数据合并
data=pd.concat([data1,data2],ignore_index=True)
>>>>
      学号	   语文	数学 英语 总成绩
0	20167598	89	89	  89   267
1	20167589	85	85	  85   255
2	20164569	52	52	  52   156
3	20167598	85	89	  89   263
4	20167589	55	95	  85   235
5	20164569	82	62	  82   226

pd.concat的参数设置可以看我本栏里的另一篇文章

最后,把生成的数组保存到一个新的csv文件里

data.to_csv('students_grade_all.csv')

如果想要自己建立一个空dataframe,那么就是

data =pd.DataFrame(columns=('学号','语文','数学','英语'))

如果想要使用已有的数组生成一个dataframe,那么就要先把这些数组写成一个字典

#生成数据
a=[1,2,5,6]
b=[5,8,9,1]

#写成字典
dic={'A':a,'B':b}

#把字典生成对应的dataframe
data=pd.DataFrame(dic)
data
>>>>
	A	B
0	1	5
1	2	8
2	5	9
3	6	1
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值