51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1891|回复: 2
打印 上一主题 下一主题

在jupyter notebook上使用python&SQL做数据分析

[复制链接]
  • TA的每日心情
    无聊
    2024-7-12 13:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2019-2-1 15:14:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    关于Jupyter
    File中包含创建以及重命名脚本文件等常用功能

    Edit 主要是集中在对内容区中的cell的操作

    view视图用于设置显示或者隐藏toolbar以及设置cell的一些相关的视图属性

    insert纯粹对cell进行操作,上方或者下方插入cell单元

    cell主要是运行cell的操作,比如运行所有的cell单元,运行某一个cell单元或者是清空cell单元的所有的内容

    kernel 功能主要是重启核或者是切换核,jupyter notebooke不仅仅可用于python的展示,也可以切换为其他的语言核进行其他语言代码编辑与运行展示

    help中即是包含了jupyter notebook 的所有操作的帮助提示



    常用快捷键:
    Enter : 转入编辑模式

    Shift-Enter : 运行本单元,选中下个单元

    Ctrl-Enter : 运行本单元



    读取数据方法及常见错误解决
    数据分析常用python包

    numpy:科学计算工具包

    pandas:数据分析工具包

    malplotlib:图表绘制工具包

    improt语句:加载工具包

    导入数据包

    import numpy as np  
    import pandas as pd
    import matplotlib.pyplot as plt
    用pandas包读取数据,使用print(data)验证读取结果

    data=pd.read_csv('文件路径',encoding='gbk',engine = 'python')
    print(data)
    读取数据虽然简单,但是极容易遇到问题,梳理了如下注意事项

    注意事项:
    1、注意使用英文引号

    2、excel存为csv格式时,可以选择编码方式,即encoding中需填写内容

    3、文件路径直接从windows复制下来会出错,

          如:C:\Users\zoe\Desktop\文件.csv',则会报错,改为 C:\\Users\\zoe\\Desktop\文件.csv'后成功通过

          常见报错

        SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

          原因

          路径中的\在字符串中是被当作转义字符来使用,路径经过转译后则找不到该文件

          解决办法:

         ① 使用/(反斜杠)

         ② 英文前使用\\

    4、文件读取报错时,可以尝试

         ① excel转csv时,可设置编码为utf-8,并更改参数 → encoding = 'utf-8'
         ② mac导出csv时,可以更改参数 → encoding = "gb18030"
         ③ 可将文件名改为英文文件名,例如“data.csv”


    常用读取数据代码:
    1、查看前n个数据:

    print(data.head(10))
    # 查看前十个数据
    2、查看某序号的数据

    print(data[10:20])
    # 查看数据序号10-20个数据(python的序号从0开始,所以前十个数据的序号为 0-9,这里也就是第11至第21个数据)
    3、查看某字段所有数据

    print(data['姓名'])
    # 查看“姓名”字段的所有数据
    5、建立列表:

    field = data.columns.tolist()
    print(type(field))
    print(field)
    # 创造一个变量field,赋值为数据data的字段
    # type()是输出数据类型,这里的类型为“列表list”,python核心数据类型之一
    输出结果:

    <class 'list'>
    ['姓名', '性别', '民族', '教育']
    6、基本数据信息

    print(data.describe(include=[np.number]))
    .describe()返回基本数据信息
    .describe(include=[np.number])只统计数值类型
    ()中没有任何参数时,会默认只统计数值类型的字段内容,包括:计数,平均数,方差,最小值,最大值,四分位数,若其中有字符串数据会报错

    输出结果

    出生年份
    count  2568.000000  
    mean   1973.129673  
    std       4.856564  
    min    1958.000000  
    25%            NaN  
    50%            NaN  
    75%            NaN  
    max    1990.000000  
    print(data.describe(include=[np.object]))
    这里只统计字符串类型的字段内容:计数,唯一值数量,出现频率最高的内容,最高出现频率

    输出内容:

    姓名 籍贯省份名称 籍贯地市名称    性别    民族    教育
    count      3021   2624   2615  2708  2517  2550
    unique     901     29    240     2     2     7
    top        王里    山东省    威海市     男    汉族    硕士
    freq        11    313     58  2633  2351  1381

    ---------------------


    评分

    参与人数 1综合技术指数 +10 收起 理由
    赵佳乐SMILE + 10

    查看全部评分

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 12:26 , Processed in 0.062265 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表