切片slice操作
[起始偏移量 start:终止偏移量 end[:步长 step]]
⚠️ end-1(索引)
⚠️如果只有如:[1:3]、[-5:-3],则包头不包尾
⚠️使用负数,反着数
列表的遍历
for obj in listObj:
print(obj)
切片slice操作
[起始偏移量 start:终止偏移量 end[:步长 step]]
⚠️ end-1(索引)
⚠️如果只有如:[1:3]、[-5:-3],则包头不包尾
⚠️使用负数,反着数
列表的遍历
for obj in listObj:
print(obj)
列表元素访问和计数
1、索引访问
索引区间[0,列表长度-1],超范围会报异常
2、index() 元素在列表中(首次)出现的索引
index(value,[start,[end]])
>>> a = [10,20,30,40,50,20,30,20,30]
>>> a.index(20)
1
>>> a.index(20,3) #从索引位置 3 开始往后搜索的第一个 20
5
>>> a.index(30,5,7)
6
3、count() 计数
4、len() 长度=元素个数
5、成员资格判断
in
count() 返回0就不在
列表元素的删除
1、del() 本质是数组拷贝
被删元素后面的依次向前拷贝
2、pop() 方法
删除并返回指定位置元素
3、remove() 方法
删除首次出现的指定元素,若不存在报异常
列表的增加与删除
1、append() 尾部加,推荐
2、+运算,拼接,会产生新列表对象,id变
3、extend() 原地扩展,id不变
4、insert() 插入元素之一,涉及数组移动
5、乘法扩展
列表的创建
可存储任何数据,索引下表获取值
range()创建整数列表
range([start,] end [,step])
start参数:可选,起始
end参数:必选,结尾
step参数:可选,步长
循环创建多个元素
a = [ x*2 for x in range(5)]
>>>a
[0,2,4,6,8]
if过滤元素
a = [ x*2 for x in range(100) if x%9==0]
>>>a
[0,18,36,54,72,.......,198]
python的序列
数据存储方法:字符串、列表、元组、字典、集合
存地址、轻量级
列表大小可变
Python基础课
一、可变字符串
字符串定义以后是不可变的,不能原地修改吗,
思考:对于一组电影数据,如果要对这些数据进行分类,应该如何操作?
首先,先构一个二维数组,行数等于gener_list的数据量,即取出来genre这一列的数据,通过逗号进行分割,即将每一行数据分割出来一二维数据的形式返回列表中
df["Genre"].str.split(",").tolist()
然后将这个list里面的数据都转换为一维数组且去重
再构建一个新的二维数组,最初的值都为零,行是genre 的数据量,列表是一维数组的数据量,分类最为列索引
分解问题
确认坐标系0点
按照思路敲代码
"报错的文字里总有认识的单词”
搜索“CMD"
输入“python”
字符串的方法
pandas里面计算mean()时,可以直接跳过nan,来返回其他值得平均数
#显示所有列
pd.set_option('display.max_columns', None)
#显示所有行
pd.set_option('display.max_rows', None)
pandas的索引
DataFrame的基本属性
为什么要学习pandas?
numpy处理数值型数据;pandas用来处理字符串和时间序列等
pandas的常用数据类型
(1)series——一维、带标签的数组
(2)DataFrame——二维数组
生成随机数的方法
ndarray缺失值填充均值
numpy 中的nan 和 inf
nan:not a number表示不是一个数字
当我们读取本地的文件为float时,如果有缺失,就会出现nan,当做了一个不合适的计算的时候也会出现nan(比如无穷大inf减去无穷大)
特殊属性:(1)两个nan是不相等的;(2)np.nan != np.nan;(3)利用以上特性,判断数组中nan的个数;(4)通过np.isnan(t)来判断nan有几个;(5)nan跟任何一个数进行计算都是nan
在一组数据中单纯将nan替换为0并不合适,很多时候会把缺失值替换成均值(中值)或者直接删除有缺失值的一行。
求和:t.sum(axis=None)
均值:t.mean(axis=None) 受离群点的影响较大
中值:np.median(t,axis=None)
最大值:t.max(axis=None)
最小值:t.min(axis=None)
极值:np.ptp(t,axis=None) 即最大值和最小值只差
标准差:t.std(axis=None)
inf:表示真无穷;-inf表示负无穷
什么时候出现inf或-inf?比如一个数字除以0
numpy中数值的修改
numpy中布尔索引
numpy中三元运算符
numpy中的clip(裁剪)