Leo的假期学习记录python大数据入门篇(2)

今天结束了pandas库的使用,接下去是和实际案例相结合
	import pandas as pd

data1 = {'ID': ['000001', '000002', '000003', '000004', '000005', '000006', '000007'],
        'name': ['qqq', 'aaa', 'zzz', 'www', 'sss', 'xxx', 'eee'],
        'gender': [True, False, True, False, True, False, True],
        'age': [16, 20, 18, 18, 17, 18, 16],
        'height': [1.88, 1.78, 1.81, 1.86, 1.74, 1.75, 1.76]
        }
students = pd.DataFrame(data1)

data2 = {'SID':['000001','000001','000002','000003',
               '000003','000003','000004','000004',
               '000005','000006','000006'],
        'CID':['A01','A02','A01','A01','A02',#这里卡了半天,报错:ValueError: arrays must all be same length,原因是这边少了个“,”
               'B01','A01','A03','B01','A02','B01'],
        'score':[56,78,90,74,86,89,67,80,77,76,90]
}
scores = pd.DataFrame(data2)
#接下来,连接data1和data2,按列链接
#第一个参数数据和第二个参数数据按照左边的ID 和右边的SID根据相同的规则排序,叫外连接
#如果将scores里面的SID改成SID,那就仅仅需要(students,scores)即可完成链接
#print(pd.merge(students,scores,left_on='ID',right_on='SID'))

#左外连接和右外连接是不一样的,how后面接的就是左、右连接方式,当数据是空值的时候,现实的是NaN,表示当前是空值
#print(pd.merge(students,scores,left_on='ID',right_on='SID',how='left'))

#查询数据,isna是检测缺失的值NaN,ture就是空值,空值不是没有值,而是他的值显示不出来
#frame = pd.merge(students,scores,left_on='ID',right_on='SID',how='left')
#print (frame[pd.isna(frame['score']) == True][['name','gender']])#后面的那个[]就是显示要输出的值

#按照索引号链接
#首先更改索引号
#scores.index = [0,0,1,2,2,2,3,3,4,5,5]
#print(students.join(scores))#当调换students和scores的位置的时候,表格的顺序也会变化,在前面的是主表格,要是在前面没有数据,在后面就也没有数据显示了

#结合统计和分组的例子
frame = pd.merge(students,scores,left_on = 'ID',right_on = 'SID')
print(frame[['score']].groupby(frame['name']).mean())#或者print(frame.groupby(frame['name'])[['score']].mean())#效果一样

还有,为什么两次[]的原因还是没找到,一个[]代表的是列表数据,那两个呢?列表里面的列表的数据?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值