Python基础语法:数据分析利器

news2024/10/2 6:34:45

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️
🐴作者:秋无之地

🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。

🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、留言💬

上一篇文章已经跟大家介绍过《数据挖掘的学习路径》,相信大家对数据挖掘都有一个基本的认识。下面我讲一下数据分析中利器:Python基础语法

一、数据分析用Python的原因

一提到Python,相信大家都比较熟悉了,就算不是IT行业的也略有耳闻。大家心中是不是有个问题,要学好数据分析,一定要掌握 Python 吗?答案是肯定的。下面我从三个方面给大家分析原因:

1、用过都说好

在一份关于开发语言的调查中,使用过 Python 的开发者,80% 都会把 Python 作为自己的主要语言。Python 已经成为发展最快的主流编程语言,从众多开发语言中脱颖而出,深受开发者喜爱。

2、开发者多

在数据分析领域中,使用 Python 的开发者是最多的,远超其他语言之和。

3、语言简洁,第三方库多

Python 语言简洁,有大量的第三方库,功能强大,能解决数据分析的大部分问题。

二、Python的安装以及IDE的选择

1、Python版本选择

Python 主要有两个版本: 2.7.x 和 3.x。两个版本之间存在一些差异,但并不大,它们语法不一样的地方不到 10%。那到底选择2.7.x 好?还是 3.x好呢?

版本选择的标准就是看你的项目是否会依赖于 Python2.7 的包,如果有依赖的就只能使用 Python2.7,否则你可以用 Python 3.x 开始全新的项目。

2、Python安装

Python的安装可以看我之前的一篇文章《老司机带你快速实现Python下载与安装》

3、Python IDE 选择

1. PyCharm

这是一个跨平台的 Python 开发工具,可以帮助用户在使用 Python 时提升效率,比如:调试、语法高亮、代码跳转、自动完成、智能提示等。

2. Sublime Text

SublimeText 是个著名的编辑器,Sublime Text3 基本上可以 1 秒即启动,反应速度很快。同时它对 Python 的支持也很到位,具有代码高亮、语法提示、自动完成等功能。

3. Vim

Vim 是一个简洁、高效的工具,速度很快,可以做任何事,从来不崩溃。不过 Vim 相比于 Sublime Text 上手有一定难度,配置起来有些麻烦。

4. Eclipse+PyDev

习惯使用 Java 的人一定对 Eclipse 这个 IDE 不陌生,那么使用 Eclipse+PyDev 插件会是一个很好的选择,这样熟悉 Eclipse 的开发者可以轻易上手。

三、Python基础语法

环境配置好后,我们就来快速学习几个 Python 必会的基础语法。我假设你是 Python 零基础,但已经有一些其他编程语言的基础。下面我们一一来看。

 1、输入与输出

name = raw_input("What's your name?")
sum = 100+100
print('hello,%s' %name)
print('sum = %d' %sum)

raw_input 是 Python2.7 的输入函数,在 Python3.x 里可以直接使用 input,赋值给变量 name,print 是输出函数,%name 代表变量的数值,因为是字符串类型,所以在前面用的 %s 作为代替。

后面的代码讲解都基于Python3.x

这是运行结果:

What's your name?cy
hello,cy
sum = 200

2、判断语句:if … else …

if score>= 90:
    print('Excellent')
else:
    if score < 60:
        print('Fail')
    else:
        print('Good Job')

if … else … 是经典的判断语句,需要注意的是在 if expression 后面有个冒号,同样在 else 后面也存在冒号。 

3、循环语句:for … in

sum = 0
for number in range(11):
    sum = sum + number
print(sum)

 运行结果:

55

for 循环是一种迭代循环机制,迭代即重复相同的逻辑操作。如果规定循环的次数,我们可以使用 range 函数,它在 for 循环中比较常用。range(11) 代表从 0 到 10,不包括 11,也相当于 range(0,11),range 里面还可以增加步长,比如 range(1,11,2) 代表的是[1,3,5,7,9]。

4、循环语句: while

sum = 0
number = 1
while number < 11:
    sum = sum + number
    number = number + 1
print(sum)

 运行结果:

55

 1 到 10 的求和也可以用 while 循环来写,这里 while 控制了循环的次数。while 循环是条件循环,在 while 循环中对于变量的计算方式更加灵活。因此 while 循环适合循环次数不确定的循环,而 for 循环的条件相对确定,适合固定次数的循环。

5、数据类型:列表、元组、字典、集合

1)列表:[]

lists = ['a','b','c']
lists.append('d')
print(lists)
print(len(lists))
lists.insert(0,'mm')
lists.pop()
print(lists)

 运行结果:

['a', 'b', 'c', 'd']
4
['mm', 'a', 'b', 'c']

列表是 Python 中常用的数据结构,相当于数组,具有增删改查的功能,我们可以使用 len() 函数获得 lists 中元素的个数;使用 append() 在尾部添加元素,使用 insert() 在列表中插入元素,使用 pop() 删除尾部的元素。

2)元组:()

tuples = ('tupleA','tupleB')
print(tuples[0])

 运行结果:

tupleA

元组 tuple 和 list 非常类似,但是 tuple 一旦初始化就不能修改。因为不能修改所以没有 append(), insert() 这样的方法,可以像访问数组一样进行访问,比如 tuples[0],但不能赋值。

3)字典:{}

# -*- coding: utf-8 -*
#定义一个dictionary
score = {'guanyu':95,'zhangfei':96}
#添加一个元素
score['zhaoyun'] = 98
print(score)
#删除一个元素
score.pop('zhangfei')
#查看key是否存在
print('guanyu' in score)
#查看一个key对应的值
print(score.get('guanyu'))
print(score.get('yase',99))

 运行结果:

{'guanyu': 95, 'zhaoyun': 98, 'zhangfei': 96}
True
95
99

字典其实就是{key, value},多次对同一个 key 放入 value,后面的值会把前面的值冲掉,同样字典也有增删改查。增加字典的元素相当于赋值,比如 score[‘zhaoyun’] = 98,删除一个元素使用 pop,查询使用 get,如果查询的值不存在,我们也可以给一个默认值,比如 score.get(‘yase’,99)。

4)集合:{}

s = set(['a', 'b', 'c'])
s.add('d')
s.remove('b')
print(s)
print('c' in s)

 运行结果:

set(['a', 'c', 'd'])
True

集合 set 和字典 dictory 类似,不过它只是 key 的集合,不存储 value。同样可以增删查,增加使用 add,删除使用 remove,查询看某个元素是否在这个集合里,使用 in。

6、注释:#

注释在 python 中使用 #,如果注释中有中文,一般会在代码前添加 # -- coding: utf-8 -。如果是多行注释,使用三个单引号,或者三个双引号,比如:

# -*- coding: utf-8 -*
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号 
这是多行注释,用三个单引号
'''

7、引用模块 / 包:import

Python 语言中 import 的使用很简单,直接使用 import module_name 语句导入即可。这里 import 的本质是什么呢?import 的本质是路径搜索。import 引用可以是模块 module,或者包 package。

针对 module,实际上是引用一个.py 文件。而针对 package,可以采用 from … import …的方式,这里实际上是从一个目录中引用模块,这时目录结构中必须带有一个 __init__.py 文件。

# 导入一个模块
import model_name
# 导入多个模块
import module_name1,module_name2
# 导入包中指定模块 
from package_name import moudule_name
# 导入包中所有模块 
from package_name import *

8、函数:def

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号,在圆括号里是传进来的参数,然后通过 return 进行函数结果得反馈。

def addone(score):
   return score + 1
print(addone(99))

运行结果:

100

四、练习题:A+B Problem

题目:A+B

输入格式:有一系列的整数对 A 和 B,以空格分开。输出格式:对于每个整数对 A 和 B,需要给出 A 和 B 的和。

输入输出样例:

INPUT
1 5
OUTPUT
6

答案:

while True:
    try:
        #输入数据
        line = input()
        #将数据按空格分隔
        a = line.split()
        #分隔后的数据相加,再打印
        print(int(a[0]) + int(a[1]))
    except:
        break

五、总结

下图是数据挖掘的知识清单,也是对本文内容的一个总结。

版权声明

本文章版权归作者所有,未经作者允许禁止任何转载、采集,作者保留一切追究的权利。

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

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

相关文章

网络技术十四:文件传输协议

文件传输协议 FTP 定义 文件传输协议 客户端/服务器模型&#xff0c;具备身份验证功能 双TCP连接 端口 采用双TCP连接方式 控制连接: 21 用于传输FTP命令和执行信息 用于在FTP客户端和FTP服务器之间传输FTP控制命令及命令执行信息。控制连接在整个FTP会话期间一直保持打开…

儿童安全门和围栏,以及游戏围栏等美国站要求的合规标准是什么?

儿童安全门和围栏 儿童安全门和围栏用于在门口&#xff08;如门道&#xff09;内设置围栏&#xff0c;或用作自支撑围栏&#xff0c;将幼儿可能在其中活动的区域围起来。这些商品可能由塑料、金属、乙烯树脂或木制组件等材料制成。此政策包括但不限于可扩展围栏、伸缩安全门和…

【系统设计系列】 负载均衡和反向代理

系统设计系列初衷 System Design Primer&#xff1a; 英文文档 GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. 中文版&#xff1a; https://github.com/donnemart…

uniapp使用H5实现预览pdf文件

下载后把压缩包解压到自己的项目的static文件夹下的pdf文件下&#xff0c;如图 新建一个文件名为filePreview.vue <template><view><web-view :src"allUrl"></web-view></view> </template><script>export default {dat…

老师设计的库CRC计算

001 CRC计算 C0 67 E1 00 01 00 DE DD C1 未加粗的代入计算 data_len USART_RX_BUF[3] * 256 USART_RX_BUF[4] 8;//这里数组第3个和第4个计算长度 综合上面的 00 01 计算结果为“9” crc_result check_calc_crc16(data_len, USART_RX_BUF); //crc_result结果:0正确;1错误…

【HTML专栏1】语法规范、基础结构标签

本文属于HTML/CSS专栏文章&#xff0c;适合WEB前端开发入门学习&#xff0c;详细介绍HTML/CSS如果使用&#xff0c;如果对你有所帮助请一键三连支持&#xff0c;对博主系列文章感兴趣点击下方专栏了解详细。 博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;HTML/CS…

网络技术十八:VLAN间路由静态路由路由协议概述

VLAN间路由 定义 指导设备对不同vlan间进行三层数据转发 实现方式 单臂路由 交换机上划分多个VLAN 路由器单线连接到交换机 路由器接口 划分若干子接口&#xff0c;子接口的IP为下连vlan的网关&#xff0c;并绑定相应vlan 交换机接口 配置TRUNK&#xff0c;允许所有v…

数据库顶会 VLDB 2023 论文解读:字节跳动如何解决超大规模流式任务运维难题

本文解读了新加坡国立大学马天白教授团队、字节跳动基础架构-计算-流式计算团队联合发表在国际数据库与数据管理顶级会议 VLDB 2023 上的论文“StreamOps: Cloud-Native Runtime Management for Streaming Services in ByteDance”&#xff0c;介绍字节跳动内部基于数万 Flink …

vue使用谷歌地图实现地点查询

效果 代码 首先在index.html中引入谷歌地图资源 <script src"https://maps.googleapis.com/maps/api/js?key你的api密钥&librariesplaces"></script>页面中 <template><div class"pac-card div-style" id"pac-card"…

OpenResty介绍及实现限流

1 背景描述 Nginx作为一个高性能的Web服务器和反向代理服务器&#xff0c;已经稳定运行了多年。然而&#xff0c;考虑到后续分馆流量的接入&#xff0c;会对我们的系统造成难以预估的影响&#xff0c;因此在网关层对流量进行监控并管理就显得格外重要。本次调研目标为OpenRest…

【PowerQuery】Excel的PowerQuery的连接组的导入与导出

完成我们当前的数据连接之后,如果使用数据的用户不在本机该怎么办呢?这时候通常有两种方式来实现对于需要的数据访问。 将文件本身提供给最终用户如果数据文件本身不涉及到敏感数据连接定义,或者需要数据脱敏操作则比较适合使用这种方法提供给最终用户。但是如果使用的数据有…

IT运维监控系统和网络运维一样吗

IT运维监控系统和网络运维不是一样的。IT运维监控系统是一系列IT管理产品的统称&#xff0c;它所包含的产品功能强大、易于使用、解决方案齐全&#xff0c;可一站式满足用户的各种IT管理需求。而网络运维是指对网络设备进行监控、维护和管理&#xff0c;包括硬件故障的排除、软…

idea VCS配置多个远程仓库

Idea VCS配置多个远程仓库 首先要有连个远程仓库地址 idea 添加数据源 查看推送记录 添加数据源 ok之后填写账号密码 推送本地项目 选择不同远程地址 push 查看不同远程地址的 不同分支的 推送记录 不期而遇的温柔&#xff1a; 应用开源架构进行项目开发&#xff0c;特别是那…

android 注解详解

1&#xff0c;注解的概念 注解现在广泛的应用于android的各个开源框架中&#xff0c;不理解注解&#xff0c;我们就无法更好的提升我们的架构能力。那么什么是注解呢&#xff1f;注解&#xff08;Annotation&#xff09;&#xff0c;是JDK5.0 引入的一种注释机制。 注解是元数…

印刷企业如何利用MES管理系统改善生产计划

随着科技的发展&#xff0c;印刷MES管理系统正在逐渐改变印刷企业的生产管理模式。印刷MES管理系统是一种用于监控、协调、优化生产流程的系统&#xff0c;它能够提供实时、准确的数据&#xff0c;帮助企业管理者做出更好的生产决策。本文将探讨印刷企业如何利用MES管理系统改善…

SQL sever中表管理

目录 一、创建表&#xff1a; 1.1语法格式&#xff1a; 1.2示例&#xff1a; 二、修改表&#xff1a; 2.1语法格式&#xff1a; 2.2示例&#xff1a; 三、删除表&#xff1a; 3.1语法格式&#xff1a; 3.2示例&#xff1a; 四、查询表&#xff1a; 4.1语法格式&…

C++新特性:智能指针

一 、为什么需要智能指针 智能指针主要解决以下问题&#xff1a; 1&#xff09;内存泄漏&#xff1a;内存手动释放&#xff0c;使用智能指针可以自动释放 2&#xff09;共享所有权指针的传播和释放&#xff0c;比如多线程使用同一个对象时析构问题&#xff0c;例如同样的数据…

台灯应该买什么样的才能护眼?推荐五款安全健康的护眼台灯

台灯主要还是以护眼台灯为主&#xff0c;因为不仅色谱丰富&#xff0c;贴近自然色的全光谱色彩&#xff0c;通常显色指数都能达到Ra95以上&#xff0c;显色能力特别强&#xff0c;而且还具有其他防辐射危害、提高光线舒适度的特性&#xff0c;比如侧发光技术、漫反射技术等大大…

社科院杜兰金融硕士不出国门获国家顶尖金融管理硕士学位及教育部留服中心学历学位认证

社科院杜兰金融硕士不出国门获国家顶尖金融管理硕士学位及教育部留服中心学历学位认证 中国社科院与美国杜兰大学金融管理硕士从默默无闻到人尽皆知&#xff0c;已在中外合作办学硕士领域走出了一条难以被模仿、无法被替代的特质。中国社会科学院与杜兰大学充分代表了中美两国…

JavaSE(一)--Java语法

&#xff01;&#xff01;&#xff01;本文适合有c和c基础的&#xff0c;通过比较c和java的不同&#xff0c;快速入门java。&#xff01;&#xff01;&#xff01; 这篇文章主要是介绍和c不同的地方&#xff0c;没说的知识点按照c写就行了。 零.整体的结构 Java是面向对象的程…