数据的规模化

1: 行数据的追加

先设置好原先的行和列:

>>> colname= ['idcard','name','sub']
>
>>> data1 = [['1','a1','rj']['2','a2','jx']['3','a3','gy']]
>>>> stu1 = pad.DataFrame(data1,columns = colname)

对这个列表进行行的一些整理性的操作:


>>> data2 = [['4','a4','rg'],['5','a5','gy']]
>>> stu2 = pad.DataFrame(data2,columns = colname)

>>> news= pad.concat([stu1,stu2],axis= 0)
>>> news
  idcard name sub
0      1   a1  rj
1      2   a2  jx
2      3   a3  gy
0      4   a4  rg
1      5   a5  gy

如上图就实现了两个表之间的连接。

下面实现的是列连接:

首先创立一个需要连接的表:

#设置表行的信息:
 >>> cardlocaded = ['id','lacaded','time','money']
 >
 >设置每行的数据:
 >
>>> data3 = [['1','st','01','99'],['7','jy','02','99'],['3','st','01','99'],['5','jy','02','99']['4','st','01','99'],['4','jy','02','99'],['6','st','01','99'],['6','jy','02','99']]
创立一个表:
>>> card = pad.DataFrame( data3 , columns = cardlocaded)
>ok,表已经创建好了
>>> card
  id lacaded time money
0  1      st   01    99
1  7      jy   02    99
2  3      st   01    99
3  5      jy   02    99
4  4      st   01    99
5  4      jy   02    99
6  6      st   01    99
7  6      jy   02    99

连接,用到的关键字是:pad.merge

pad.merge(表1,表2,连接方式,左关键字,右关键字)

连接方式决定了谁是主表,谁是附表

>>> pad.merge(news,card,how = 'left',left_on = 'idcard',right_on = 'id')
  idcard name sub   id lacaded time money
0      1   a1  rj    1      st   01    99
1      2   a2  jx  NaN     NaN  NaN   NaN
2      3   a3  gy    3      st   01    99
3      4   a4  rg    4      st   01    99
4      4   a4  rg    4      jy   02    99
5      5   a5  gy    5      jy   02    99
排序:
应该
stu3.sort_values(by ='成绩',ascending = False )
stu3.sort_values( 用于排序的列 , 排序方式false降序true 升序 ,inplace 是否修改原数据)

按成绩降序:

>>> stu3.sort_values(by ='成绩',ascending = False )
        性别  年龄   身高  体重        省份  成绩  月生活费  课程兴趣  案例教学
序号                                                     
30  female  20  168  52   JiangSu  98   700     5     5
21  female  21  165  45  ShangHai  93  1200     5     5
23    male  21  169  80     GanSu  93   900     5     5
22  female  19  167  42     HuBei  89   800     5     5
29  female  20  161  51   GuangXi  80  1250     5     5
28  female  22  160  52    ShanXi  73   800     3     4
25  female  21  162  54     GanSu  68  1300     4     5
27  female  21  162  49  ShanDong  65   950     4     4
26    male  21  181  77   SiChuan  62   800     2     5
24  female  21  160  49     HeBei  59  1100     3     5

按照多个列排序:

>>> stu3.sort_values(by =['成绩','身高','体重'],ascending = False )
>先按成绩排序,若默写行列相同就按身高排序,若还想同,就按体重排序,(降序)
>
        性别  年龄   身高  体重        省份  成绩  月生活费  课程兴趣  案例教学
序号                                                     
30  female  20  168  52   JiangSu  98   700     5     5
23    male  21  169  80     GanSu  93   900     5     5
21  female  21  165  45  ShangHai  93  1200     5     5
22  female  19  167  42     HuBei  89   800     5     5
29  female  20  161  51   GuangXi  80  1250     5     5
28  female  22  160  52    ShanXi  73   800     3     4
25  female  21  162  54     GanSu  68  1300     4     5
27  female  21  162  49  ShanDong  65   950     4     4
26    male  21  181  77   SiChuan  62   800     2     5
24  female  21  160  49     HeBei  59  1100     3     5
排名:
>>> stu3['成绩排名']=stu3['成绩'].rank(method = 'min',ascending = False)
>stu3这个列表新增加一个列成绩排名列,
>然后用rank排名,
>rank分别是(axis=1/0 , method = min/max/mean,ascending =false/true)
>
>axis:1为按列数据排名,0为按行数据排名 默认为1
>method:这个暂时不知道
>ascending:升序或者降序
>
>>> stu3
        性别  年龄   身高  体重        省份  成绩  月生活费  课程兴趣  案例教学  成绩排名
序号                                                           
21  female  21  165  45  ShangHai  93  1200     5     5   2.0
22  female  19  167  42     HuBei  89   800     5     5   4.0
23    male  21  169  80     GanSu  93   900     5     5   2.0
24  female  21  160  49     HeBei  59  1100     3     5  10.0
25  female  21  162  54     GanSu  68  1300     4     5   7.0
26    male  21  181  77   SiChuan  62   800     2     5   9.0
27  female  21  162  49  ShanDong  65   950     4     4   8.0
28  female  22  160  52    ShanXi  73   800     3     4   6.0
29  female  20  161  51   GuangXi  80  1250     5     5   5.0
30  female  20  168  52   JiangSu  98   700     5     5   1.0
>>> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值