码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python 数据分析入门教程:Numpy、Pandas、Matplotlib和Scikit-Learn详解


    文章目录

    • Python数据分析入门教程
      • Numpy库
      • Pandas库
      • Matplotlib绘图
      • Scikit-Learn机器学习
    • NumPy数组与运算
      • NumPy数组对象
      • 数组创建函数
      • 数组运算
      • 数组索引
      • 数组操作总结
    • 总结
    • python精品专栏推荐
      • python基础知识(0基础入门)
      • python爬虫知识

    Python数据分析入门教程

    Numpy库

    NumPy是一个Python的科学计算基础模块,提供了多维数组和矩阵操作功能。

    import numpy as np
    
    arr = np.array([1, 2, 3]) 
    print(arr)
    
    • 1
    • 2
    • 3
    • 4

    NumPy中的数组比Python自带的列表更适合进行数值计算和数据分析。

    Pandas库

    Pandas建立在NumPy之上,提供了更高级的数据分析功能。

    import pandas as pd
    
    data = pd.DataFrame({
      "name":["John", "Mary"],
      "age":[30, 25]  
    })
    
    print(data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Pandas中的DataFrame可以看成是一个二维表格,便于加载和分析数据。

    Matplotlib绘图

    Matplotlib可以用来绘制各种图表,常用于数据分析可视化。

    import matplotlib.pyplot as plt
    
    x = [1, 2, 3, 4]
    y = [2, 4, 6, 8]
    
    plt.plot(x, y)
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    条形图、散点图、直方图等多种图表可用少量代码绘制。

    Scikit-Learn机器学习

    Scikit-Learn提供了常用的机器学习算法。

    from sklearn.linear_model import LinearRegression
    
    model = LinearRegression()
    model.fit(x_train, y_train)
    y_pred = model.predict(x_test)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    可以基于Pandas和Scikit-Learn构建数据分析与机器学习 Pipeline。

    NumPy数组与运算

    NumPy是Python语言的一个重要扩展程序库,主要用于数组与矩阵运算,对于数据分析非常关键。本文将详细介绍NumPy的数组对象以及相关的运算操作。

    NumPy数组对象

    NumPy中的ndarray(N维数组对象)是一个快速灵活的大数据集容器,比标准Python列表更适合用于科学与工程计算。

    import numpy as np
    
    arr = np.array([1, 2, 3])
    print(arr)
    
    arr = np.array([[1, 2], [3, 4]]) 
    print(arr) 
    ndarray是一个同质数据的多维容器,在创建时可以指定数据类型。
    python
    arr = np.array([1, 2, 3], dtype=np.float32)
    ndarray的维数 called shape,可以通过shape属性获得:
    python 
    arr = np.array([[1,2,3], [4,5,6]])
    print(arr.shape) # (2, 3) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    维数可以超过2,表示高维数组。数组大小调用size属性。

    数组创建函数

    np.array是创数组的最基本方法。np还提供了其他创建数组的函数:

    arr = np.zeros(10) # 10个0 
    
    arr = np.ones((2, 3), dtype=int) # 2x3全1数组
    
    arr = np.full((3, 5), 6) # 3x5全6数组
    np.random模块可以生成随机数组:
    python
    arr = np.random.random((2, 4)) # 2x4随机数组
    
    arr = np.random.normal(0, 1, (3, 3)) # 正态分布 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    数组运算

    NumPy中可以对整个数组进行算术运算,逐元素运算:

    arr1 = np.array([1, 2, 3])
    arr2 = np.array([2, 3, 4])
    print(arr1 + arr2) # [3 5 7]
    
    print(arr1 * 2) # [2 4 6]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    常用的数组运算还包括求和、统计、广播等:

    arr = np.array([[1,2], [3,4]]) 
    
    print(arr.sum()) # 10
    
    print(arr.min()) # 1
    print(arr.max()) # 4 
    
    arr1 = np.array([[1, 2]])
    arr2 = np.array([2, 3])
    print(arr1 + arr2) # broadcasting
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    数组索引

    ndarray支持多维索引,可以获取某个元素:

    arr = np.array([[1,2,3], [4,5,6], [7,8,9]])
    
    print(arr[1, 2]) # 6
    
    print(arr[0:2, 1]) # [2 5] 切片
    布尔数组索引:
    python 
    arr = np.array([1, 2, 3, 4])
    bool_idx = arr > 2 
    
    print(arr[bool_idx]) # [3 4]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    数组操作总结

    • ndarray是NumPy的基本数组对象,比列表更适合科学计算
    • 支持多种数组创建方式如zeros,random等
    • 可以进行数学与统计运算,如sum,mean
    • 通过索引和切片可以操作数组元素

    NumPy的数组运算是Python科学计算的基石,必须深入学习,才能打下坚实的基础。

    总结

    在本文中,我们介绍了 Python 数据分析的入门教程,重点介绍了 Numpy 库、Pandas 库、Matplotlib 绘图和 Scikit-Learn 机器学习等方面的内容。现在,让我们来简要总结一下吧!

    首先是 Numpy 库。我们了解到 Numpy 是 Python 中一个强大的数值计算库,它提供了多维数组对象以及丰富的数组运算功能。通过 Numpy,我们可以轻松地对数组进行创建、操作和索引,还可以进行各种数学运算和线性代数操作。

    接着我们介绍了 Pandas 库。Pandas 是用于数据分析和处理的重要工具,它提供了 DataFrame 对象,使我们能够灵活地处理和分析数据。通过 Pandas,我们可以读取数据集、数据清洗、转换和整合,还可以进行高级数据操作,如数据筛选、排序和分组等。

    然后是 Matplotlib 绘图。Matplotlib 是一个功能丰富的绘图库,可以用来创建各种类型的静态、动态和交互式图表。无论是线形图、柱状图、散点图还是饼图,Matplotlib 都能够满足我们的需求,并通过设置样式和标签来美化图表。

    最后是 Scikit-Learn 机器学习。Scikit-Learn 是一个强大的机器学习库,提供了多种常用的机器学习算法和工具。通过 Scikit-Learn,我们可以进行数据预处理、特征工程、模型训练和评估等。它支持监督学习、无监督学习和半监督学习等多种学习任务。

    总之,通过本文的学习,我们对 Python 数据分析有了更深入的理解。Numpy、Pandas、Matplotlib 和 Scikit-Learn 是我们必不可少的工具,可以帮助我们在数据分析和机器学习领域取得更好的成果。希望本文能够带给大家启发和帮助,让我们一起走进 Python 数据分析的精彩世界吧!


    python精品专栏推荐

    python基础知识(0基础入门)

    【python基础知识】0.print()函数
    【python基础知识】1.数据类型、数据应用、数据转换
    【python基础知识】2.if条件判断与条件嵌套
    【python基础知识】3.input()函数
    【python基础知识】4.列表和字典
    【python基础知识】5.for循环和while循环
    【python基础知识】6.布尔值和四种语句(break、continue、pass、else)
    【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)
    【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
    【python基础知识】8.编程思维:如何解决问题-思维篇
    【python基础知识】9.函数的定义和调用
    【python基础知识】10.用函数编写程序 - 实操篇
    【python基础知识】10.用Python实现石头剪刀布小游戏-函数实操篇
    【python基础知识】11.如何debug -常见报错原因及排查思路 - 思维篇
    【python基础知识】12.类与对象(一)
    【python基础知识】12.类与对象(二)
    【python基础知识】13.类与对象(三)
    【python基础知识】13.类与对象(四)
    【python基础知识】14.图书管理系统的搭建(类与对象实操)
    【python基础知识】15.编码基础知识
    【python基础知识】16.文件读写基础及操作
    【python基础知识】16.“古诗默写题”的python实现(文件读写和编码-实操篇)
    【python基础知识】17.模块的概念以及如何引入
    【python基础知识】18.实操-使用python自动群发邮件
    【python基础知识】19.产品思维以及流程图的使用 - 思维篇
    【python基础知识】20.“午饭吃什么”的python实现(产品思维-实操篇)
    【python基础知识】21.高效偷懒的正确打开方式-毕业篇
    【python文件处理】CSV文件的读取、处理、写入
    【python文件处理】Excel自动处理(使用 openpyxl)
    【python文件处理】-excel格式处理


    python爬虫知识

    【python爬虫】1.爬虫基础知识
    【python爬虫】2.网页基础知识
    【python爬虫】3.爬虫初体验(BeautifulSoup解析)
    【python爬虫】4.爬虫实操(菜品爬取)
    【python爬虫】5.爬虫实操(歌词爬取)
    【python爬虫】6.爬虫实操(带参数请求数据)
    【python爬虫】7.爬到的数据存到哪里?
    【python爬虫】8.温故而知新
    【python爬虫】9.带着小饼干登录(cookies)
    【python爬虫】10.指挥浏览器自动工作(selenium)
    【python爬虫】11.让爬虫按时向你汇报
    【python爬虫】12.建立你的爬虫大军
    【python爬虫】13.吃什么不会胖(爬虫实操练习)
    【python爬虫】14.Scrapy框架讲解
    【python爬虫】15.Scrapy框架实战(热门职位爬取)
    【python爬虫】16.爬虫知识点总结复习

  • 相关阅读:
    【C++】复杂的多继承及其缺陷(菱形继承)
    Pyscript,创建一个能执行crud操作的网页应用
    什么是RPA自动化办公?
    反序列bit
    JAVA webservice配置xfire
    如何利用AI技术优化独立站客服系统?听听专家怎么说!
    P4_toturial练习1问题:ModuleNotFoundError: No module named ‘p4.tmp‘
    CRC校验简单记录
    步步深入 k8s 使用 pv pvc sc 在 nfs 基础上共享存储
    Typora+PicGo+Github+CSDN梦幻联动
  • 原文地址:https://blog.csdn.net/qq_41308872/article/details/132873978
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号