数据科学必备Python编程基础

news2024/11/15 8:48:54

前言

对于Python复杂的编程语言中提取了数据分析常用的数据处理以及数据可视化等数据分析师常用的内容,区别与其他的Python编程教程,如果是纯开发的小伙伴,看完本系列的文章仅仅只能掌握数据相关处理的内容,并不能完全掌握开发方面的技能,请有选择阅读。

(文末送读者福利)

Python的特点

1、简单、易学Python是一种代表简单主义思想的语言,有简单的语法,容易上手。Python能够专注于解决问题而不是去搞明白语言本身。

2、面向对象的高层语言无需关注底层细节,而C/C++中需要操作指针。与其他语言相比,Python以强大而又简单的方式实现面向对象编程。

3、解释性强Python程序不需要编译成二进制代码,可以直接在源代码上运行。

4、免费开源,可移植性Unix衍生系统,Win32系统家族,掌上电脑/手机,游戏控制台(PSP)等等。

5、可扩展性,可嵌入性如果一段关键代码希望运行得更快或者希望算法不公开,可以把这部分程序用C或C++编写,然后在Python程序中使用。可以把Python嵌入到C/C++程序,从而向程序用户提供脚本功能。

6、丰富的库Python标准库确实很庞大,包括正则表达式、文档生成、单元、测试、线程、数据库、网页浏览器、等等。此外,还有其他高质量的库,如wxPython、Twisted和图像库等等。

Python的安装

对于数据分析师而言,不建议使用原生的方式安装Python。而是使用对数据分析师更加友好的 Anaconda 进行安装,更多辅助数据分析师的功能。

并且基于 Anaconda 的 Jupyter Notebook,也是集成很多使用功能的编辑器同时兼具交互式的优点。可以在同一个界面中保存展示代码,展现运行结果,实时互交式运行代码等功能,并且对新手非常友好,不需要过多的配置。

数据分析师必备Python基础

数据分析师使用Python的基础语法

这部分内容了解即可,会在实际操作中讲解。

Python 标识符
1、在 Python 里,标识符有字母、数字、下划线组成。
2、在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
3、Python 中的标识符是区分大小写的。
4、以下划线开头的标识符是有特殊意义的。以单下划线开头 foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
5、以双下划线开头的 foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init
_() 代表类的构造函数。

Python 标准的数据类型
1、数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)
2、数字类型:int(有符号整型)long(长整型[也可以代表八进制和十六进制])float(浮点型)complex(复数)

Python 数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

在这里插入图片描述

Python 运算符

算术运算符

加 - 两个对象相加 a + b 输出结果 30 。
减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10。
乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2。
% 取模 - 返回除法的余数 b % a 输出结果 0。
幂 - 返回x的y次幂 ab 为10的20次方, 输出结果 100000000000000000000。
// 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0。

Python比较运算符

以下假设变量a为10,变量b为20。

== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true。
<> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 true。这个运算符类似 != 。
大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 true。

= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。

Python逻辑运算符

假设变量 a 为 10, b为 20。

and x and y 布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔”或” - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False 。

Python成员运算符

in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

Python身份运算符

is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

Python 变量类型

Number 数字变量: Python中的数字包含int、float、bool、complex复数。
String 字符串变量: python里面的字符串是指用单引号 ‘ 或者双引号 “” 括起来一段字符和数字,同时一些特殊字符需要使用 \ 来进行转译。
List 列表变量: List在python中使用会比较频繁,他和数组很大的相似性。可以实现许多集合类的实现。
Tuple 元素变量: 元组是一组不能修改的数据集合,使用()和“,” 将数据进行分隔。
Set 集合变量: 一个用“{}”包含起来一组或多个个体组成的集合,通常是进行成员关系测试和删除重复元素使用的。 注意空的set,要使用set()来实现, { }是用来表示一个空的字典。
Dictionary 字典变量: 字典是一种数据映射类型,用{ } 进行标识,它包含了一组由 key:value组成的集合。 key(键)和 value(值)一一对应,在同一个字典中,key值必须是唯一的,不能够重复。

Python的控制流语句
单分支结构

条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等
语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致

num = input("输入一个数字:")
if int(num)<10:
    print(num)

在选择和循环结构中,条件表达式的值为 False 的情况如下:False、0、0.0、空值None、空序列对象(空列表、空元组、空集合、空字典、空字符串)、空range对象、空迭代对象。其他情况,均为 True。这么看来 Python 所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。

在python 中,条件表达式不能出现赋值操作符 “=”,避免了其他语言中经常误将关系运算符 “==” 写作赋值运算符“=”带来的困扰。

if 3:    #整数作为条件表达式        
    print("ok")
a = []   #列表作为条件表达式,由于为空列表,是False
if a:
    print("空列表,False")
s = "False"    #非空字符串,是True
if s:
    print("非空字符串,是True")

c = 9
if 3<c<20:
    print("3<c<20")
if 3<c  and  c<20:
    print("3<c  and c<20")

if True:        #布尔值
    print("True")

双分支结构

Python 提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下:

条件为真时的值 if(条件表达式)else 条件为假时的值。
上一个案例代码,可以用三元条件运算符实现。

num = input("输入一个数字:")        
if int(num)<10:
    print(num)
else:
    print("数字太大")

num = input("请输入一个数字")        
print( num if int(num)<10 else "数字太大")

在这里插入图片描述
多分支结构

方法1(使用完整的条件表达)

score = int(input("请输入分数"))        
grade = ''
if(score<60):
    grade = "不及格"
if(60<=score<80):
    grade = "及格"
if(80<=score<90):
    grade = "良好"
if(90<=score<=100):
    grade = "优秀"

print("分数是{0},等级是{1}".format(score,grade))

方法2(利用多分支结构)

score = int(input("请输入分数"))        
grade = ''
if score<60 :
    grade = "不及格"
elif  score<80 :
    grade = "及格"
elif  score<90 :
    grade = "良好"
elif  score<=100:
    grade = "优秀"

print("分数是{0},等级是{1}".format(score,grade))

其他循环方式

while循环。

num = 0                
sum_all = 0         #1-100所有数的累加和
sum_even = 0        #1-100偶数的累加和
sum_odd = 0         #1-100奇数的累加和
while num<=100:
    sum_all += num
    if num%2==0:sum_even += num
    else:sum_odd += num
    num += 1         #迭代,改变条件表达式,使循环趋于结束

print("1-100所有数的累加和",sum_all)
print("1-100偶数的累加和",sum_even)
print("1-100奇数的累加和",sum_odd)

for 循环。

for  x  in  (20,30,40):        
    print(x*3)

for x  in  "sxt001":        
    print(x)

for i in range(10) :
    print(i)

循环的终止与执行

break语句。break语句可用于 while 和 for 循环中,用来结束整个循环。当有嵌套循环时,break语句 ,只能跳出最近的一层循环。

while True:        
    a = input("请输入一个字符(输入Q或q结束)")
    if a.upper()=='Q':
        print("循环结束,退出")
        break
    else:
        print(a)

continue 语句,continue 语句用于结束本次循环,继续下一次循环,多个玄幻嵌套时,continue也是应用于最近的一层循环。

empNum = 0        
salarySum= 0
salarys = []
while True:
    s = input("请输入员工的薪资(按Q或q结束)")

    if s.upper()=='Q':
        print("录入完成,退出")
        break
    if float(s)<0:
        continue
    empNum +=1
    salarys.append(float(s))
    salarySum += float(s)

print("员工数{0}".format(empNum))
print("录入薪资:",salarys)
print("平均薪资{0}".format(salarySum/empNum))

读者福利:知道你对Python感兴趣,还准备了这套python学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈



在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取

在这里插入图片描述

好文推荐

了解python的前景:https://blog.csdn.net/xiqng17111342931/article/details/127705925

了解python的副业:https://blog.csdn.net/xiqng17111342931/article/details/127872402

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

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

相关文章

RestoreDet

来说说低分辨率图像中目标检测吧~~ 超分辨率&#xff08;SR&#xff09;等图像恢复算法是退化图像中目标检测不可或缺的预处理模块。然而&#xff0c;这些算法中的大多数假设退化是固定的并且是先验已知的。 论文地址&#xff1a;https://arxiv.org/pdf/2201.02314.pdf 当真…

四、文件管理(三)文件系统

目录 3.1文件系统结构 3.2文件系统布局 3.2.1文件系统在外存中的结构 3.2.2文件系统在内存中的结构 3.3外存空闲空间管理 3.3.1空闲表法 3.3.2空闲链表法 3.3.3位示图法 3.3.4成组链接法 3.4虚拟文件系统 3.5文件系统挂载(mounting) 3.1文件系统结构 从不同的角度出…

柚子是肝病“催化剂”吗?医生:滋养肝细胞,5种水果或可常吃

人体就像是一台大型的机器&#xff0c;五脏六腑就像是机器里的重要组成部分&#xff0c;血管是为五脏六腑输送机油的管道&#xff0c;骨骼是机器的整体框架等&#xff0c;它们彼此之间互相配合&#xff0c;机器才能够正常运转。 如果其中一个构造受损了&#xff0c;那么会影响到…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java散酒营销系统w5at6

对于计算机专业的学生最头疼的就是临近毕业时的毕业设计,对于如何选题,技术选型等这些问题,难道了大部分人,确实,还没毕业的学生对于这些问题还比较陌生,只有学习的理论知识,没有实战经验怎么能独自完成毕业设计这一系列的流程,今天我们就聊聊如何快速应对这一难题. 比较容易的…

第二证券|元宇宙赛道西北首个“吃螃蟹者”入场

元世界展开势头一浪高过一浪之际&#xff0c;地处西北的咸阳高新区也下决心参加这场比赛。 近来&#xff0c;咸阳高新区管委会发布《咸阳高新区元世界工业先行区举动方案》&#xff0c;对行将打出的元世界“先手牌”从多个维度予以规划。 值得关注的是&#xff0c;外界印象中&…

iOS视频流采集概述(AVCaptureSession)

需求&#xff1a;需要采集到视频帧数据从而可以进行一系列处理(如: 裁剪&#xff0c;旋转&#xff0c;美颜&#xff0c;特效....). 所以,必须采集到视频帧数据. 阅读前提: 使用AVFoundation框架 采集音视频帧数据 Overview AVCaptureSession:使用相机或麦克风实时采集音视频…

Java编程实战12:解数独

目录解数独题目示例 1提示解答解题思路完整代码解数独 题目 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能…

1553_AURIX_TC275_CCU寄存器以及模块的独立时钟生成

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这里的BBB时钟应该是前面看到的调试时钟&#xff0c;BBB比较醒目&#xff0c;不过暂且不知道这个缩写是什么词语的缩写。 这个寄存器是CPU0的时钟设置寄存器。我有点好奇&#xff0c;这个寄…

多线程并发、线程池、同步方法、同步代码块(锁)

多线程&#xff1a; 同时执行多个程序 多线程需要硬件支持&#xff08;cpu&#xff09; 并行&#xff1a;在同一时刻&#xff0c;有多个指令在多个cpu上同时执行 并发&#xff1a;在同一时刻&#xff0c;有多个指令在单个cpu上交替执行 进程&#xff1a;正在运行的软件 独立…

详解VQVAE:Neural Discrete Representation Learning

VQVAE&#xff1a;Neural Discrete Representation Learning 原文链接&#xff1a;https://arxiv.org/abs/1711.00937 要看细节&#xff0c;强推&#xff0c;直接不用看论文了&#xff1a;VQ-VAE的简明介绍&#xff1a;量子化自编码器 - 科学空间|Scientific Spaces 一、问…

车辆管理怎么做?这六个车辆管理系统能帮到你!

通过本篇文章&#xff0c;您将了解以下问题&#xff1a;1、6个车辆管理系统盘点 2、企业使用车辆管理系统的价值是什么&#xff1f; 车辆管理系统指集合处理用车、还车、维保&#xff0c;监测油耗、车辆状态等车辆管理相关工作为一体的系统。 随着车辆数据的不断增长,如何快速…

武汉大学数据科学导论 WHU-data-science-introduction-996station GitHub鉴赏官

推荐理由&#xff1a;武汉大学数据科学导论 数据科学导论 声明: 本仓库构建目的为提供一个开源的可浏览的代码仓库,用于完成本人作业 代码作业的目录如下,纸质作业也已上传,下载地址 采用MIT协议,以供学习交流 第一次作业 决策树 第二次作业 Apriori k-means naive-bayes 第三次…

毕业设计 基于stm32与openmv的目标跟踪系统

文章目录0 前言课题简介设计框架3 硬件设计4 软件设计对被测物体的识别判断被测物体所在区域5 最后0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年…

Linux 负载均衡介绍之LVS工作模式-NAT转发模式

Linux 负载均衡介绍之LVS工作模式-NAT转发模式 图示&#xff1a; 工作原理&#xff1a; ①.客户端将请求发往前端的负载均衡器&#xff0c;请求报文源地址是CIP(客户端IP),后面统称为CIP)&#xff0c;目标地址为VIP(负载均衡器前端地址&#xff0c;后面统称为VIP)。 ②.负载…

RK3568平台开发系列讲解(视频篇)视频渲染OpenGL ES是什么

🚀返回专栏总目录 文章目录 一、什么是OpenGL ES二、上下文环境三、OpenGL(ES)的用途四、OpenGL 渲染管线五、创建显卡执行程序5.1、创建 Shader5.2、创建 Program沉淀、分享、成长,让自己和他人都能有所收获!😄 📢渲染并不单单是要把画面绘制到屏幕上,更多的是需要…

VirtualBox启动问题记录

很久之前安装过的虚拟机&#xff0c;虚拟机文件是安装在移动硬盘上的&#xff0c;最近在做redis集群试验的时候&#xff0c;打算重新使用一下这个虚拟机&#xff0c;在启动的时候出现了一些问题&#xff0c;特此记录一下&#xff0c;便于后面再出现此问题时不知所措。 实体机操…

ChatGPT 这玩意也太猛了!程序员朋友们,我在此严正呼吁大家:端好饭碗,谨防 AI!

大家周二好呀。 最近几天大火的 ChatGPT 你玩了吗&#xff1f; 如果你不知道它是个什么东西&#xff0c;那么我让它给你来个自我介绍&#xff1a; ​说白了&#xff0c;就是一个可以对话的人工智能。 我开始以为就是一个升级版的“小爱同学”&#xff0c;“小度小度”&#x…

第一个MyBatis程序

目录 一、新建项目 二、设置数据库和MyBatis的配置 &#x1f351;配置数据库的连接信息 &#x1f351;配置MyBatis XML存放位置和命名规则 三、MyBatis实现查询操作 &#x1f34e;MyBatis的组成 &#x1f34e;使用MyBatis实现查询功能 &#x1f34e;SpringBoot单元测…

TF卡格式化了怎么办?tf卡数据恢复,看这3个方法

现在手机存储卡都很普及&#xff0c;TF卡是最常见的存储卡之一。但是你知道吗&#xff1f;TF卡也会有问题&#xff0c;比如出现误删数据&#xff0c;或者把数据格式化。因为手机内存有限&#xff0c;我们经常会把 TF卡设置为默认的最大空间&#xff0c;这样就可能会出现存储空间…

Java: 字符串indexOf() /substring()/replace() 的使用

需要做的: 获取如下图响应信息html页面中的 fec7f1e4-30e0-41d1-9417-bb4829be51dc 值 一.具体思路&#xff1a; &#xff08;1&#xff09;字符串查找 indexOf()其实就是在字符串中查找其子串第一次出现的位置&#xff0c;如果没有找到该子串&#xff0c;则返回-1 四种用…