当前位置: 首页 > news >正文

大数据分析04 数据查询分析

构建数据源

  • 引入pandas包
    数据map中ID为列,值为行,每一列中值个数要一致
import pandas as pd
data = {'ID': ['000001', '000002', '000003', '000004', '000005', '000006', '000007'],'name':['黎明', '赵怡春', '张富平', '白丽', '牛玉德', '姚华', '李南'], '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]}frame = pd.DataFrame(data) 
frame    

print打印的不是二维表格 直接用frame显示更好看
在这里插入图片描述

  • 读取文本文件数据

datau.txt内容格式

1|24|M|technician|85711
2|53|F|other|94043
3|23|M|writer|32067
4|24|M|technician|43537
5|33|F|other|15213
6|42|M|executive|98101

按分隔符读取内容

import pandas as pdunames = ['uid', 'age', 'gender', 'occupation', 'zip']
users = pd.read_table('datau.txt', sep='|', header=None, names=unames)users.head(5)

-读取CSV

frame1 = pd.read_csv("data.csv", encoding='GBK') # 将数据加载成DataFrame格式
frame1.head(5)

数据的选择

筛选行

  • 选择一列并使用index更改行号
frame = pd.DataFrame(data, index=[6, 5, 4, 3, 2, 1, 0])
frame['name'] //frame.name
  • 多列选择
frame[['name', 'age', 'gender']] 
  • 指定数据行
    包含下届不包含上届
frame[2:4]
  • 按索引
    要求准确的编号,包含下上下界
frame.loc[1] 
  • 展示所有数据,筛选多列
fream.loc[:,["age","name"]]
  • 根据序号获取
frame.iloc[1,3]

与loc的区别是:loc取的是绝对数值,值不存在的不展示,iloc从0开始的索引号

  • 条件范围
frame[frame['age'] > 17]

与frame[frame[‘age’] ]>17做区别,前者返回年龄大于17的数据行,后者返回所有的数据行值是否大于17,是个bool值

  • 多条件
frame[(frame['age'] > 17) & (frame['height'] == 1.80)]  
  • 范围
    取一个离散范围,年龄在16-20之间
frame[frame['age'].isin([16, 20])]
  • 列名修改
frame.rename(columns=["ID":"学号"])
  • 截取字符
frame["name"].str[0:1]
  • 格式化小数
frame.["height"].round(2)
  • 自定义函数
    apply 用来执行函数,可以通过args传递参数
def xinbie(val):if val is True:return "男"else:return "女"
frame['gender'].apply(xinbie)

输出格式

  • 直接打印
print(frame)
  • 输出表格
frame
  • 输出HTML
print(frame.to_html())

设置数据展示

  • 设置展示最大行数None为所有
pd.set_option('display.max_rows',None)

相关文章:

  • SAP接口超时:对 FOR ALL ENTRIES IN 的优化
  • 数字化转型的“暗礁“与突围:失败案例深度复盘
  • 常用浪涌保护器件的原理、特性与应用对比
  • 巧记英语四级单词 Unit5-上【晓艳老师版】
  • onloyoffice 服务器保存文件的时间 和 当前时间 相差八小时 如何改
  • 如何将 Apache Hudi 接入 Ambari?完整部署与验证指南
  • linux 部署express项目,并使用pm2守护进程
  • 鸿蒙-试一下属性字符串:除了Span之外,如何在同一个Text组件中展示不同样式的文字
  • Python教程(一)——Python速览
  • AIGC实战之如何构建出更好的大模型RAG系统
  • 电脑技巧:路由器内部元器件介绍
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(11): てあります。
  • 算法题(134):地毯
  • Java 24 深度解析:云原生时代的性能更新与安全重构
  • WHAT - 已阅读书单
  • WHAT - 《成为技术领导者》思考题(第一章)
  • CV大模型、NLP大模型与语音处理技术全景解析-AI学习Day5
  • 【Hive入门】Hive分区与分区表完全指南:从原理到企业级实践
  • LSTM+KNN - 多元数据异常检测 !
  • 建筑节能成发展焦点,楼宇自控应用范围持续扩大
  • 单位被裁定补缴12年社保,滞纳金该谁出?
  • 财政部:前3月国有企业利润总额10907.4亿元,同比增1.7%
  • 咖啡与乳腺健康之间,究竟有着怎样的复杂关系?
  • 财政部、证监会:加强对会计师事务所从事证券服务业务的全流程监管
  • 中国驻英国大使郑泽光:中国需要世界,世界也需要中国
  • 人民日报开新栏,冼星海之女追忆父亲创作《黄河大合唱》