当前位置 : 主页 > 编程语言 > python >

【Python学习】3 数据分析必备知识

来源:互联网 收集:自由互联 发布时间:2022-06-18
在上一节学习了python数据类型中的数字类型,字符串,忘记了的小伙伴可以点击这里复习哟! [python数据类型下]: https://blog.csdn.net/L15519543837/article/details/103871056 那么这一部分将总结非常


在上一节学习了python数据类型中的数字类型,字符串,忘记了的小伙伴可以点击这里复习哟!

[python数据类型下]: https://blog.csdn.net/L15519543837/article/details/103871056

那么这一部分将总结非常非常常用的元组,列表,集合,字典。(注意哟,不管是后面的爬虫还是数据分析都是必须得学会的)。

[toc]
[Docker系列]3 Docker组件

1 python数据类型思维导图

2 列表

2.1 列表格式

python列表是任意对象的有序集合。列表内容写在[]中。任意对象意思这个列表中的每个元素可以是另一个列表,也可以是字符串等。如下所示。

list=["保罗","威少","韦德"]
print(list)
list1=[["保罗儿子","保罗老爸"],"威少","韦德"]
print(list1)

但是有的时候我们想取出某个元素,python大哥提供了切片。

2.2 列表中常用的方法

每个list中的元素都是从下标0开始。所以我们想取出“威少”应该这样取。

print(list[1])

那么我们如何看list列表有哪些方法怎么办呢?使用:help(list)查看。这里总结出常用的列表方法。

方法

描述

list.append(x)

在列表的末尾增加一个元素x

list.insert(i,x)

在索引为i的位置插入元素x

list.remove(x)

删除从左到右第一次出现的x

list.pop([i])

删除列表给定位置的元素并返回它

list.clear()

移除列表所有元素

list.count(x)

放回元素x在列表中出现的次数

list.sort(*key=None*, *reverse=False*x)

对列表元素进行排序

list.reverse(x)

翻转列表

len(list)

列表的元素个数

min(list)

返回列表中最小元素

好了,到这里我们应该把这些方法试一试,看看是啥效果!

# coding:utf-8

#list
list=["保罗","威少","韦德"]
print(list)
list1=[["保罗儿子","保罗老爸"],"威少","韦德"]
print(list1)
print(list[1])
#测试remove方法 删除第一次出现的元素
list2=["保罗","威少","韦德","保罗"]
#测试count方法
list2.count("保罗")
print(list2)
#测试remove方法
list2.remove("保罗")
print(list2)
#测试sort方法
list2.sort()
#测试reverse方法
print(list2.reverse())
#测试insert方法
list2.insert(2,"科比")
print(list2)

2.3 列表的切片

切片,从字面意思可以猜到是切成一片一片的(现在真的饿了。。明天早上回家,准备就在实验室了,实验室暖和。)对,就是从列表中取出我们想要的一部分。下面我来看看。
假设我们的案例列表为

list3=[1,2,3,4,5,6,2,1]

如果我们想取出前面三个数字,这里用两种方法。

print(list3[0:3])#[1,2,3]注意哈 我们之前说好了 下标是从0开始的
print(list3[:3])#[1,2,3] 冒号在前面代表取前面几个数

如果我们把冒号放在后面呢?

print(list3[3:])#[4, 5, 6, 2, 1] 冒号在后面代表取出到末尾之间的数

上面取数的时候都是正数,里面可以是负数吗?必须碟!

print(list3[-3])# 6 从右边开始数第三个数
print(list3[-3:])#[6, 2, 1] 从右边到末尾之间的数

小结:列表的切片我们使用了“:”,如果“:”在数字x前面那么从左到右的x个数,相反则是从右到左的x个数。

2.4 列表的简单应用

  • 列表作为栈

栈是什么,具有先进后出的特点,比如咱们平时放盘子,从下往上放,但是取得时候是从上往下取,也就是先放的后取出,这就栈结构的特点。那么在面试算法题中比较典型的比如数制转换,单词逆序等

那么我们列表怎么模拟呢?要先进入,使用append,取出的时候从顶部取出pop。

#列表作为栈
stack=[1,2,3]
stack.append(4)
stack.append(5)
print(stack.pop())#5
print(stack.pop())#4
print(stack.pop())#3
  • 列表作为队列

栈的兄弟队列,但是性格一样容易冲突,干脆相反,队列的特点是先进先出。比较常见的情形就是我们排队买火车票了。

#列表作为队列
from collections import deque
deque1=deque(['威少',"保罗","库里"])
deque1.append("小库里")
deque1.append("里弗斯")
print(deque1.popleft())#威少
print(deque1.popleft())#保罗

3 元组

3.1 元组类型及切片

元组是由几个被逗号隔开的值组成。元组元素写在小括号()里

注意:元组的元素是不能修改的。有个好消息,大部分列表中的方法在此也是适用的,同时切片也可用。

tuple=('威少',"保罗","哈登")
#tuple[0]="库里" 不准修改!!
print(tuple)
print(tuple[:2])#('威少', '保罗')
print(tuple[2:])#('哈登',)
print(tuple[-1:])#('哈登',)

3.2 元组的简单运用

  • 如果想在单引号里面使用单引号本身,就需要使用<font color='red'>转义字符('\\')</font>
print('what\'s your name')#what's you name\

3.3 字符串的系列操作

  • 先上思维导图

【Python学习】3 数据分析必备知识_python

  • 字符串拼接

使用“”+“”运算符进行字符串的拼接,注意,两操作的运算符的类型需要一样哟,不一样可能需要转换一下。

str1=“abc”
str2="edf"
str=str1+str2
print(str)#abcedf
  • 求字符串的长度

我们来求下上面str的长度。

print(len(str))#6
  • 分割字符串

我们所使用的函数是split,str.split(sep, maxsplit).返回值为列表,参数sep默认为空格。

str4="i am a boy"
print(str4.split())

运行结果

【Python学习】3 数据分析必备知识_python_02

  • 格式化字符串

使用%操作符

stud = '学号:%d,姓名:%s,班级:%s'
print(stud % (123,'张三','一年级'))
#学号:123,姓名:张三,班级:一年级

-去除字符串空格或者特殊字符
所使用的方法是strip方法,这个方法会去除左右空格。如果我们只需要去除左边那么就是lstrip,如果是是右边就是rstrip。

str5=" i am a student"
print(str5.strip())
#i am a student
print(str5.rstrip())
#i am a student
print(str5.lstrip())
#i am a student
  • 检索字符串

这里目前只介绍count和find。其中count用于检索指定字符串在另一个字符串中出现的次数,如果检索的字符串不存在则返回0,否则返回出现的次数。find检索是否包含指定的字符串,如果检索的字符串不存在则返回-1,否则返回首次出现该字符串时的索引。

>>>str6="i am a student"
>>> print(str6.count('t'))
2
>>> print(str6.find('t'))
8
  • 字符串大小写转换
>>> str7="i am a student"
>>> print(str7.upper())#转换为大写
I AM A STUDENT
>>> print(str7.lower())#转换为小写
i am a student
>>> print(str7.capitalize())#第一个字符转换大写
I am a student
>>> print(str7.title())#转换为
>I Am A Student#把每个单词的第一个字母转化为大写,其余小写


上一篇:[Python基础]2 数据分析基础
下一篇:没有了
网友评论