Python3数据科学包系列(二):数据分析实战


Python3中类的高级语法及实战

Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案

Python3数据科学包系列(一):数据分析实战

Python3数据科学包系列(二):数据分析实战




一:通过read_table函数读取数据创建(DataFrame)数据框


# -*- coding:utf-8 -*-from pandas import read_table'''从文件(rz.txt)读取数据创建pandas的DataFrame数据框
'''
print("""注意: (1)txt文本文件要保存成UTF-8格式才不会报错(2)查看数据框dataFrame前n项数据使用dataFrame.head(n);后m项数据用dataFrame.tail(m);默认均是5
""")
dataFrame = read_table(r'./file/rz.txt', sep="\t")
print("查看前5项数据: ", dataFrame.head(5))print()
print("查看后5项数据: ", dataFrame.tail(5))
print()
print("查看所有数据")
print(dataFrame)

运行效果:


D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\dataanalysis\DataAnalysisByTXTFileCreatePandasOfDataFrame.py 

    注意: 
        (1)txt文本文件要保存成UTF-8格式才不会报错
        (2)查看数据框dataFrame前n项数据使用dataFrame.head(n);后m项数据用dataFrame.tail(m);默认均是5

查看前5项数据:             学号        班级  姓名 性别  英语  体育  军训  数分  高代    解几
0  2308024241  23080242  成龙  男  76  78  77  40  23  60.0
1  2308024244  23080242  周怡  女  66  91  75  47  47  44.0
2  2308024251  23080242  张波  男  85  81  75  45  45  60.0
3  2308024249  23080242  朱浩  男  65  50  80  72  62  71.0
4  2308024219  23080242  封印  女  73  88  92  61  47  46.0

查看后5项数据:              学号        班级   姓名 性别  英语  体育  军训  数分  高代    解几
16  2308024433  23080244  李大强  男  79  76  77  78  70   NaN
17  2308024428  23080244  李侧通  男  64  96  91  69  60   NaN
18  2308024402  23080244   王慧  女  73  74  93  70  71  75.0
19  2308024422  23080244  李晓亮  男  85  60  85  72  72   NaN
20  2308024201  23080242   迟培  男  60  50  89  71  76  71.0

查看所有数据
            学号        班级   姓名 性别  英语  体育  军训  数分  高代    解几
0   2308024241  23080242   成龙  男  76  78  77  40  23  60.0
1   2308024244  23080242   周怡  女  66  91  75  47  47  44.0
2   2308024251  23080242   张波  男  85  81  75  45  45  60.0
3   2308024249  23080242   朱浩  男  65  50  80  72  62  71.0
4   2308024219  23080242   封印  女  73  88  92  61  47  46.0
5   2308024201  23080242   迟培  男  60  50  89  71  76  71.0
6   2308024347  23080243   李华  女  67  61  84  61  65  78.0
7   2308024307  23080243   陈田  男  76  79  86  69  40  69.0
8   2308024326  23080243   余皓  男  66  67  85  65  61  71.0
9   2308024320  23080243   李嘉  女  62  作弊  90  60  67  77.0
10  2308024342  23080243  李上初  男  76  90  84  60  66   NaN
11  2308024310  23080243   郭窦  女  79  67  84  64  64  79.0
12  2308024435  23080244  姜毅涛  男  77  71  缺考  61  73   NaN
13  2308024432  23080244   赵宇  男  74  74  88  68  70  71.0
14  2308024446  23080244   周路  女  76  80  77  61  74  80.0
15  2308024421  23080244  林建祥  男  72  72  81  63  90   NaN
16  2308024433  23080244  李大强  男  79  76  77  78  70   NaN
17  2308024428  23080244  李侧通  男  64  96  91  69  60   NaN
18  2308024402  23080244   王慧  女  73  74  93  70  71  75.0
19  2308024422  23080244  李晓亮  男  85  60  85  72  72   NaN
20  2308024201  23080242   迟培  男  60  50  89  71  76  71.0

Process finished with exit code 0
 

二:通过read_csv|read_table读取csv格式数据创建(DataFrame)数据块


# -*- coding:utf-8 -*-from pandas import read_csv, read_table'''从文件(rz.cvs)读取数据创建pandas的DataFrame数据框
'''dataFrame = read_csv(r'./file/rz.csv', sep=",")
print("读取cvs文件的所有数据: ")
print(dataFrame)print()
print("读取前5行数据:")
print(dataFrame.head(5))print()
print("读取后5行数据:")
print(dataFrame.tail(5))print()
print("使用read_table读取csv数据也是可以的")dataFrame = read_table(r'./file/rz.csv', sep=",")
print("读取cvs文件的所有数据: ")
print(dataFrame)

运行效果:


D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\dataanalysis\DataAnalysisByCVSFileCreatePandasOfDataFrame.py 
读取cvs文件的所有数据: 
            学号        班级   姓名 性别  英语  体育  军训  数分  高代  解几
0   2308024241  23080242   成龙  男  76  78  77  40  23  60
1   2308024244  23080242   周怡  女  66  91  75  47  47  44
2   2308024251  23080242   张波  男  85  81  75  45  45  60
3   2308024249  23080242   朱浩  男  65  50  80  72  62  71
4   2308024219  23080242   封印  女  73  88  92  61  47  46
5   2308024201  23080242   迟培  男  60  50  89  71  76  71
6   2308024347  23080243   李华  女  67  61  84  61  65  78
7   2308024307  23080243   陈田  男  76  79  86  69  40  69
8   2308024326  23080243   余皓  男  66  67  85  65  61  71
9   2308024320  23080243   李嘉  女  62  作弊  90  60  67  77
10  2308024342  23080243  李上初  男  76  90  84  60  66  60
11  2308024310  23080243   郭窦  女  79  67  84  64  64  79
12  2308024435  23080244  姜毅涛  男  77  71  缺考  61  73  76
13  2308024432  23080244   赵宇  男  74  74  88  68  70  71
14  2308024446  23080244   周路  女  76  80  77  61  74  80
15  2308024421  23080244  林建祥  男  72  72  81  63  90  75
16  2308024433  23080244  李大强  男  79  76  77  78  70  70
17  2308024428  23080244  李侧通  男  64  96  91  69  60  77
18  2308024402  23080244   王慧  女  73  74  93  70  71  75
19  2308024422  23080244  李晓亮  男  85  60  85  72  72  83
20  2308024201  23080242   迟培  男  60  50  89  71  76  71

读取前5行数据:
           学号        班级  姓名 性别  英语  体育  军训  数分  高代  解几
0  2308024241  23080242  成龙  男  76  78  77  40  23  60
1  2308024244  23080242  周怡  女  66  91  75  47  47  44
2  2308024251  23080242  张波  男  85  81  75  45  45  60
3  2308024249  23080242  朱浩  男  65  50  80  72  62  71
4  2308024219  23080242  封印  女  73  88  92  61  47  46

读取后5行数据:
            学号        班级   姓名 性别  英语  体育  军训  数分  高代  解几
16  2308024433  23080244  李大强  男  79  76  77  78  70  70
17  2308024428  23080244  李侧通  男  64  96  91  69  60  77
18  2308024402  23080244   王慧  女  73  74  93  70  71  75
19  2308024422  23080244  李晓亮  男  85  60  85  72  72  83
20  2308024201  23080242   迟培  男  60  50  89  71  76  71

使用read_table读取csv数据也是可以的
读取cvs文件的所有数据: 
            学号        班级   姓名 性别  英语  体育  军训  数分  高代  解几
0   2308024241  23080242   成龙  男  76  78  77  40  23  60
1   2308024244  23080242   周怡  女  66  91  75  47  47  44
2   2308024251  23080242   张波  男  85  81  75  45  45  60
3   2308024249  23080242   朱浩  男  65  50  80  72  62  71
4   2308024219  23080242   封印  女  73  88  92  61  47  46
5   2308024201  23080242   迟培  男  60  50  89  71  76  71
6   2308024347  23080243   李华  女  67  61  84  61  65  78
7   2308024307  23080243   陈田  男  76  79  86  69  40  69
8   2308024326  23080243   余皓  男  66  67  85  65  61  71
9   2308024320  23080243   李嘉  女  62  作弊  90  60  67  77
10  2308024342  23080243  李上初  男  76  90  84  60  66  60
11  2308024310  23080243   郭窦  女  79  67  84  64  64  79
12  2308024435  23080244  姜毅涛  男  77  71  缺考  61  73  76
13  2308024432  23080244   赵宇  男  74  74  88  68  70  71
14  2308024446  23080244   周路  女  76  80  77  61  74  80
15  2308024421  23080244  林建祥  男  72  72  81  63  90  75
16  2308024433  23080244  李大强  男  79  76  77  78  70  70
17  2308024428  23080244  李侧通  男  64  96  91  69  60  77
18  2308024402  23080244   王慧  女  73  74  93  70  71  75
19  2308024422  23080244  李晓亮  男  85  60  85  72  72  83
20  2308024201  23080242   迟培  男  60  50  89  71  76  71

Process finished with exit code 0
 

三: 通过read_excel函数读取excel数据创建(DataFrame)数据框


# -*- coding:utf-8 -*-from pandas import read_excel'''从文件(i_nuc.xls)读取数据创建pandas的DataFrame数据框
'''
dataFrame = read_excel(r'./file/i_nuc.xls', sheet_name="Sheet3")print(dataFrame)print()
print("读取前5行数据:")
print(dataFrame.head(5))print()
print("读取后5行数据:")
print(dataFrame.tail(5))

运行效果:
 


D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\dataanalysis\DataAnalysisByExcelFileCreateDataFrame.py 
            学号        班级   姓名 性别  英语  体育  军训  数分  高代  解几
0   2308024241  23080242   成龙  男  76  78  77  40  23  60
1   2308024244  23080242   周怡  女  66  91  75  47  47  44
2   2308024251  23080242   张波  男  85  81  75  45  45  60
3   2308024249  23080242   朱浩  男  65  50  80  72  62  71
4   2308024219  23080242   封印  女  73  88  92  61  47  46
5   2308024201  23080242   迟培  男  60  50  89  71  76  71
6   2308024347  23080243   李华  女  67  61  84  61  65  78
7   2308024307  23080243   陈田  男  76  79  86  69  40  69
8   2308024326  23080243   余皓  男  66  67  85  65  61  71
9   2308024320  23080243   李嘉  女  62  作弊  90  60  67  77
10  2308024342  23080243  李上初  男  76  90  84  60  66  60
11  2308024310  23080243   郭窦  女  79  67  84  64  64  79
12  2308024435  23080244  姜毅涛  男  77  71  缺考  61  73  76
13  2308024432  23080244   赵宇  男  74  74  88  68  70  71
14  2308024446  23080244   周路  女  76  80  77  61  74  80
15  2308024421  23080244  林建祥  男  72  72  81  63  90  75
16  2308024433  23080244  李大强  男  79  76  77  78  70  70
17  2308024428  23080244  李侧通  男  64  96  91  69  60  77
18  2308024402  23080244   王慧  女  73  74  93  70  71  75
19  2308024422  23080244  李晓亮  男  85  60  85  72  72  83
20  2308024201  23080242   迟培  男  60  50  89  71  76  71

读取前5行数据:
           学号        班级  姓名 性别  英语  体育  军训  数分  高代  解几
0  2308024241  23080242  成龙  男  76  78  77  40  23  60
1  2308024244  23080242  周怡  女  66  91  75  47  47  44
2  2308024251  23080242  张波  男  85  81  75  45  45  60
3  2308024249  23080242  朱浩  男  65  50  80  72  62  71
4  2308024219  23080242  封印  女  73  88  92  61  47  46

读取后5行数据:
            学号        班级   姓名 性别  英语  体育  军训  数分  高代  解几
16  2308024433  23080244  李大强  男  79  76  77  78  70  70
17  2308024428  23080244  李侧通  男  64  96  91  69  60  77
18  2308024402  23080244   王慧  女  73  74  93  70  71  75
19  2308024422  23080244  李晓亮  男  85  60  85  72  72  83
20  2308024201  23080242   迟培  男  60  50  89  71  76  71

Process finished with exit code 0
 

四: 通过read_sql函数多读取数据mysql的数据创建(DataFrame)数据框


# -*- coding:utf-8 -*-
import pandas as pd
import pymysql"""从文件数据框表读取数据创建pandas的DataFrame数据框
"""
conn = None
dataFrame = None
try:# 打开数据库连接 db = pymysql.connect(host="localhost", user="您的用户名", password="您的密码", database="数据库名称", charset='utf8' )conn = pymysql.connect(user="root", password="123456", host="localhost", database="tope-pay-user", port=3306,charset='utf8', autocommit=False)sql = "select * from sys_books"print("利用pandas模块导入mysql表的数据")dataFrame = pd.read_sql(sql, conn)
except Exception as err:print("pandas模块导入表sys_books数据异常: ", err)
finally:conn.close()print("导入的dataFrame数据为:")print(dataFrame)

利用pandas模块导入mysql表的数据
D:\program_file_worker\python_source_work\SSO\grammar\dataanalysis\DataAnalysisByMySQLCreateDataFrame.py:16: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.
  dataFrame = pd.read_sql(sql, conn)
导入的dataFrame数据为:
    id             NAME  ...         update_time  deleted
0    1      零基础学Python3  ... 2023-09-26 16:58:34        0
1    2         零基础学Java  ... 2023-09-26 16:58:34        0
2    3          零基础学C++  ... 2023-09-26 16:58:34        0
3    4  零基础学Python数据可视化  ... 2023-09-26 16:58:34        0
4    5          零基础学C语言  ... 2023-09-26 16:58:34        0
5    6      零基础学android  ... 2023-09-26 16:58:34        0
6    7      零基础学Python3  ... 2023-09-26 17:09:41        0
7    8         零基础学Java  ... 2023-09-26 17:09:41        0
8    9          零基础学C++  ... 2023-09-26 17:09:41        0
9   10  零基础学Python数据可视化  ... 2023-09-26 17:09:41        0
10  11          零基础学C语言  ... 2023-09-26 17:09:41        0
11  12      零基础学android  ... 2023-09-26 17:09:41        0

[12 rows x 8 columns]

五:通过create_engine函数读取mysql数据创建(DataFrame)数据框

# -*- coding:utf-8 -*-from sqlalchemy import create_engine
import pandas as pdMYSQL_HOST = 'localhost'
MYSQL_PORT = '3306'
MYSQL_USER = 'root'
MYSQL_PASSWORD = '123456'
MYSQL_DB = 'tope-pay-user'"""从文件数据框表读取数据创建pandas的DataFrame数据框
"""engine = create_engine('mysql+pymysql://%s:%s@%s:%s/%s?charset=utf8'% (MYSQL_USER, MYSQL_PASSWORD, MYSQL_HOST, MYSQL_PORT, MYSQL_DB))sql = 'select * from sys_books'df = pd.read_sql(sql, engine)pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
print(df)

运行效果:


D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\dataanalysis\DataAnalysisByMySQLCreate_engineDataFrame.py 
    id                      NAME  ...         update_time  deleted
0    1           零基础学Python3  ... 2023-09-26 16:58:34        0
1    2              零基础学Java  ... 2023-09-26 16:58:34        0
2    3               零基础学C++  ... 2023-09-26 16:58:34        0
3    4  零基础学Python数据可视化  ... 2023-09-26 16:58:34        0
4    5             零基础学C语言  ... 2023-09-26 16:58:34        0
5    6           零基础学android  ... 2023-09-26 16:58:34        0
6    7           零基础学Python3  ... 2023-09-26 17:09:41        0
7    8              零基础学Java  ... 2023-09-26 17:09:41        0
8    9               零基础学C++  ... 2023-09-26 17:09:41        0
9   10  零基础学Python数据可视化  ... 2023-09-26 17:09:41        0
10  11             零基础学C语言  ... 2023-09-26 17:09:41        0
11  12           零基础学android  ... 2023-09-26 17:09:41        0

[12 rows x 8 columns]

Process finished with exit code 0
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146516.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

C++指针的使用

文章目录 1.C指针1.1 定义指针1.2 使用指针 2.空指针和野指针2.1 空指针2.2 野指针 3.指针所占空间4.使用const修饰指针4.1 const修饰指针4.2 const修饰常量4.3 const 既修饰指针也修饰常量 5.指针操作数组6.指针做函数参数7.使用指针知识实现冒泡排序 1.C指针 指针其实就是一…

mysql主从同步

原理 概述 将主库的数据变更同步到从库,从而保证主库和从库数据一致 数据备份,失败迁移,读写分离,降低单库读写压力 原理 主数据库设置 docker run --restartalways --name mysql-master -p 3306:3306 -v /home/apps/mysql-…

偏微分方程的人工智能

9 偏微分方程的人工智能 在本节中,我们详细介绍了用于解决偏微分方程(Partial Differential Equations,PDEs)的人工智能领域的进展。我们在第9.1节中概述了PDE建模的一般形式,并阐述了在这个背景下使用机器学习方法的…

竞赛 大数据房价预测分析与可视

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 大数据房价预测分析与可视 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖,适合…

JavaScript中如何确定this的值?如何指定this的值?

🎀JavaScript中的this 在绝大多数情况下,函数的调用方法决定了this的值(运行时绑定)。this不能在执行期间被赋值,并且在每次函数呗调用时this的值也可能会不同。 🍿如何确定this的值: 在非严格…

百度交易中台之内容分润结算系统架构浅析

作者 | 交易中台团队 导读 随着公司内容生态的蓬勃发展,内容产出方和流量提供方最关注的“收益结算”的工作,也就成为重中之重。本文基于内容分润结算业务为入口,介绍了实现过程中的重难点,比如千万级和百万级数据量下的技术选型和…

C++八股

1、简述一下C中的多态 在面向对象中,多态是指通过基类的指针或引用,在运行时动态调用实际绑定对象函数的行为,与之相对应的编译时绑定函数称为静态绑定。 静态多态 静态多态是编译器在编译期间完成的,编译器会根据实参类型来选择…

UART相关参数和Modbus协议

温湿度数据和风速风向数据的读取和计算方法 文章目录 温湿度数据和风速风向数据的读取和计算方法1 串行通信数据格式1.1 协议介绍1.2 UART相关参数1.3 UART通信过程 2 USB转串口模块的使用3 串口调试助手的使用3.1 串口控制区3.2 发送控制区3.3 接收控制区 4 GY-39气象信息模块…

在2023年使用Unity2021从Built-in升级到Urp可行么

因为最近在做WEbgl平台,所以某些不可抗力原因,需要使用Unity2021开发,又由于不可明说原因,想用Urp,怎么办? 目录 创建RenderAsset 关联Asset 暴力转换(Menu->Edit) 单个文件…

Object.defineProperty()方法详解,了解vue2的数据代理

假期第一篇,对于基础的知识点,我感觉自己还是很薄弱的。 趁着假期,再去复习一遍 Object.defineProperty(),对于这个方法,更多的还是停留在面试的时候,面试官问你vue2和vue3区别的时候,不免要提一提这个方法…

SLAM从入门到精通(tf的使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在ros的机器人学习过程中,有一件事情是肯定少不了的。那就是坐标系的转换。其实这也很容易理解。假设有一个机器人,它有一个…

Linux文件查找,别名,用户组综合练习

1.文件查看: 查看/etc/passwd文件的第5行 [rootserver ~]# head -5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologi…

性能压力测试的定义及步骤是什么

在今天的数字化时代,软件系统的性能和稳定性对于企业的成功至关重要。为了确保软件在高负载和压力情况下的正常运行,性能压力测试成为了不可或缺的环节。本文将介绍性能压力测试的定义、步骤。 一、性能压力测试的定义和目标 性能压力测试是通过模拟实际…

openGauss学习笔记-86 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署配置

文章目录 openGauss学习笔记-86 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署配置86.1 总体原则86.2 重做日志(MOT)86.3 检查点(MOT)86.4 恢复(MOT)86.5 统计(MOT)86…

USART串口协议

通信接口 •通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统 • 通信协议:制定通信的规则,通信双方按照协议规则进行数据收发 全双工:指通信双方能够同时进行双向通信,一般来说,全双…

阿里云ACP知识点(三)

1、弹性伸缩不仅提供了在业务需求高峰或低谷时自动调节ECS实例数量的能力,而且提供了ECS实例上自动部署应用的能力。弹性伸缩的伸缩配置支持多种特性,例如______,帮助您高效、灵活地自定义ECS实例配置,满足业务需求。 标签、密钥对、 实例RAM…

[docker]笔记-网络故障处理

1、同事在虚拟机上部署docker,发现电脑无法登录虚拟机了。首先ping测是通的,从我电脑继续进行登录测试发现没问题,初步判断是她电脑网络和虚拟机网络之间连接出错。 2、进行虚拟机登录查看,首先使用route -n命令查看路由&#xf…

SpringBoot整合数据库连接

JDBC 1、数据库驱动 JDBC(Java DataBase Connectivity),即Java数据库连接。简而言之,就是通过Java语言来操作数据库。 JDBC是sun公司提供一套用于数据库操作的接口. java程序员只需要面向这套接口编程即可。不同的数据库厂商&…

WPF中的控件

内容控件:label、border Window控件 Label控件 Border控件 内容控件 Button控件 点击取消按钮关闭程序;点击登录按钮打开BorderWindow窗口。 TextBox控件 PasswordBox控件 TextBlock控件 加载窗口时显示TextBlock中的内容 RadioButton控件 CheckBox控件…

Vim学习笔记

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录 模式介绍指令概览启动退出移动光标插入删除复制替换撤销搜索信息设置外…