logo资料库

对比execel轻松学python数据分析-笔记.docx

第1页 / 共122页
第2页 / 共122页
第3页 / 共122页
第4页 / 共122页
第5页 / 共122页
第6页 / 共122页
第7页 / 共122页
第8页 / 共122页
资料共122页,剩余部分请下载后查看
对比Excel轻松学Python数据分析
前言
入门篇
目标
第1章数据分析基础
1.1数据分析是什么:
1.2为什么要做数据分析:
1.3数据分析在经营中有三大作用
1.4数据分析在分析什么
(1)总体概览指标:(统计绝对数)
(2)对比性指标:是说明现象之间数量对比关系的指标
(3)集中趋势指标:
(4)离散程度指标:
(5)相关性指标:
(6)相关关系和因果关系
1.5数据分析的常规流程
(1)熟悉工具:
(2)明确目的:首先明确分析的目的,希望得到什么
(3)获取数据:这准备工作:
1)需要什么指标
2)什么时间段的数
3)数据存在哪里
4)怎么提取,是自己SQL还是系统中
(4)熟悉数据
1)检查数据多少类型.
2)所需指标是否满足.
(5)处理数据:
1)异常:给合具体业务处理
2)重复:删除重复
3)缺失:比例高于30%,放弃指标,低于30%,填充0,均值、众数等
(6)分析数据:围绕着指标展开.并且经常采用的一个方法一--下钻
(7)得结论
(8)验证结论
(9)展示结论
1.6数据分析工具
实践篇
第2章熟悉锅——Python基础知识
2.1流程
2.2工具Jupyter Notebook
2.3基础语法
2.3.1 输出与输出格式设置format()
2.3.2注释
2.3.3容器 str/list/dict/tup
2.3.4运算符
2.3.5循环语句for/while
2.3.6条件语句if/else/elif
2.3.7函数
2.3.7高级特性 列表生成器/map()
2.3.7模块module import
第3章Pandas数据结构
3.1Series数据结构
3.1.1 Series是什么--[数据标签,数据]一维数组
3.1.2 创建一个Series---pd.Series(list/dict)
(1)列表--pd.Series(list)
(2)指定索引--pd.Series(list,inedx=[])
(3)传入一个字典pd.Series(dict)
3.1.3 利用index方法获取Series的索引----S_list.index
3.1.4 利用values方法获取Series的值----S_list.values
3.2DataFrame表格型数据结构
3.2.1 DataFrame是什么---表格型数据结构
3.2.2 创建一个DataFrame--pd.dataFrame(list,index,colum
(1)不指定行/列索引创建DataFrame
(2)指定行/列索引创建DataFrame--index(行名称)/columns(列名)
3.2.3 获取DataFrame的行、列索引---df.index/df.columns
3.2.4 获取DataFrame的值
Series数据结构
DataFrame表格型数据结构
第4章准备食材——获取数据源--pandas
4.1导入外部数据--pandas.read_x()
4.2新建数据--DataFrame新建数据
4.3熟悉数据
4.3.1 利用head预览前几行--df.head(n)--n无时默认5行
4.3.2 利用shape获取数据表的大小--df.shape
4.3.3 利用info获取数据类型---df.info()
4.3.4 利用describe获取数值分布情况--df.describe()
第5章淘米洗菜——数据预处理
5.1 缺失值处理
5.1.1 缺失值查看---df.info()/df.isnull()
5.1.2 缺失值删除--df.dropna(how=”all”)
5.1.3 缺失值填充df.fillna(0/{key1:value1,key2:value2})
5.2 重复值处理-- drop_duplicates(subset=[],keep=)
5.3 异常值的检测与处理
5.3.1 异常值检测
5.3.2 异常值处理
5.4 数据类型转换
5.4.1 数据类型—int/float/object/string_/unicode/dateti
5.4.2 类型转换—df[].dtype---df[].astype(string)
5.5 索引设置
5.5.1 为无索引表添加索引—df.columns=[],df.index=[]
5.5.2 重新设置索引—df.set_index()
5.5.3 重命名索引---df.rename(columns={},index={})
5.5.4 重置索引—df.reset_index()
第6章菜品挑选——数据选择
6.1 列选择----df[]/df.iloc[]
6.1.1 选择某一/几列--普通/位置索引---df[“col1”,”col2”]/df.iloc
6.1.2 选择连续的某几列--切片索引--df.iloc[0:15,0:3]
6.2 行选择--df.loc[]/df.iloc[]/df[df[“”]<100]
6.2.1 选择某一行/某几行---df.loc[“row”]/df.iloc[[1,2,3]]
6.2.2 选择连续的某几行---df.iloc[1:3]
6.2.3 选择满足条件的行---布尔索引--df[df[“产品ID”]<100]
6.3 行列同时选择
6.3.1 普通索引+普通索引选择指定的行和列—df.loc[[0,1,2],[“col1”,”co
6.3.2 位置索引+位置索引选择指定的行和列—df.iloc[[0,1,2],[1,2,3]]
6.3.3 布尔索引+普通索引选择指定的行和列—df[df[“col1”]<100][[“col2”
6.3.4 切片索引+切片索引选择指定的行和列—df.iloc[1:2,1:4]
6.3.5 切片索引+普通索引选择指定的行和列—df.ix[]这个方法没有找到
第7章切配菜品——数值操作
7.1 数值替换
7.1.1 一对一替换—df[“col”].replace(A,B)/df.replace(A,B)
7.1.2 多对一替换—df.replace([A,B],C)
7.1.3 多对多替换—df.replace({“A”:”a”,”B”:”b”})
7.2 数值排序
7.2.1 按照一列数值进行排序-- df.sort_values(by=["年龄"],ascend
7.2.2 按照有缺失值的列进行排序—df.sort_values(by=,na_position=
7.2.3 按照多列数值进行排序—df.sort_values(by=[col1,col2],asc
7.3 数值排名—df[col].rank(method=)
7.4 数值删除
7.4.1 删除列—df.drop([col]/df.columns[[0,1]]/columns=
7.4.2 删除行—df.drop([r1,r2]/index=[r1,r2]/df.index[[
7.4.3 删除特定行—df[df[“年龄”]<40]—选出与删除条件相反的数据形成新的集合
7.5 数值计数—df.value_counts()
7.6 唯一值获取—df[“col”].unique()
7.7 数值查找——df.isin ([])
7.8 区间切分—pd.cut(df[],num/bins=[])--pd.qcut(df[“col
7.9 插入新的行或列—df.insert(index,newcol,[row_value])/df
7.10 行列互换—df.T/df.T.T(还原)
7.11 索引重塑—df.stack()/df.stack().unstack()
7.12 长宽表转换
7.12.1 宽表转换为长表
1.stack()方法-- df_turn.set_index(["Company","Name"]).
2.melt()方法—df.melt(id_vars=,var_name=,value_name=)
7.12.2 长表转换为宽表—df.pivot_table(index=[],columns=,va
7.13 apply()与applymap()函数—df[].apply(lamda)/df.app
第8章开始烹调——数据运算
8.1 算术运算—+-*/
8.2 比较运算—>< != ==
8.3 汇总运算—count/sum/mean/max/min/median/mode/std/qu
8.3.1 count非空值计数
8.3.2 sum求和--语法同count
8.3.3 mean求均值--语法同count
8.3.4 max求最大值--语法同count
8.3.5 min求最小值--语法同count
8.3.6 median求中位数--语法同count
8.3.7 mode求众数--语法同count
8.3.8 var求方差--语法同count
8.3.9 std求标准差--语法同count
8.3.10 quantile求分位数-- df.quantile(0.25,axis=1)
8.4 相关性运算—df[col1].corr(df[col2])
第9章炒菜计时器——时间序列--datetime
9.1 获取当前时刻的时间
9.1.1 返回当前时刻的日期和时间--datetime.datetime.now()/dateti
9.1.2 分别返回当前时刻的年、月、日—nowtime.year/month/day
9.1.3 返回当前时刻的周数—time.weekay()+1/ time.isocalendar(
9.2 指定日期和时间的格式date/time/strftime
9.3 字符串和时间格式相互转换---str(time)/parse(str_time)
9.3.1 将时间格式转换为字符串格式—str(time)
9.3.2 将字符串格式转换为时间格式—parse(str_time)
9.4 时间索引
9.5 时间运算
9.5.1 两个时间之差
9.5.2 时间偏移
第10章菜品分类——数据分组/数据透视表--groupby/pivot_table
10.1 数据分组--groupby
10.1.1 分组键是列名—直接按照给的列名统计
10.1.2 分组键是Series—先按照Series分组,在统计-- df.groupby([df
10.1.3 神奇的aggregate方法-- df.groupby("客户分类").aggrega
10.1.4 对分组后的结果重置索引—df_aggregate2.reset_index()
10.2 数据透视表—pd.pivot_table()
第11章水果拼盘——多表拼接--oracle中的关联和union
11.1 表的横向拼接--oracle中的表关联
11.1.1 连接表的类型--1-1/n-1/n-n
(1)一对一--只有一个公共列--pd.merge(df1,df2)
(2)多对一--on=”col_name”
(3)多对多
11.1.2 连接键的类型
(1)默认以公共列作为连接键
(2)用on来指定连接键--on=”col_name”
(3)分别指定左右连接键--left_on="编号",right_on="序号"--oracle左右两边列
(4)把索引列当作连接键--将公共列设置成索引再用索引拼接
11.1.3 连接方式--inner/left/right/outer--oracle中的左右关联(
(1)内连接(inner)
(2)左连接(left)
(3)右连接(right)
(4)外连接(outer)
11.1.4 重复列名处理--col_x,col_y
11.2 表的纵向拼接
11.2.1 普通合并
11.2.2 索引设置
11.2.3 重叠数据合并--df.drop_duplicates()
第12章盛菜装盘——结果导出
12.1 导出为.xlsx文件-- df.to_excel(excel_writer, sheet_
12.2 导出为.csv文件—df.to_csv(path_or_buf, index, colum
12.3 将文件导出到多个Sheet—writer= pd.ExcelWriter
第13章菜品摆放——数据可视化--matplotlib
13.1 数据可视化是什么
13.2 数据可视化的基本流程
13.2.1 整理数据---明确要把哪些数据图表化
13.2.2 明确目的---明确要表达什么
13.2.3 寻找合适的表现形式---合适的表现形式
13.3 图表的基本组成元素
13.4 Excel与Python可视化
13.5 建立画布和坐标系
13.5.1建立画布
(1)导入matplotlib库以及基本设置
(2)建立画布
13.5.2建立坐标系
(1)add_subplot函数建立坐标系-----利用add_subplot函数建立坐标系时需要先
(2)plt.subplot2grid函数建立坐标系--------不需要先建立画布,只需要导入pl
(3)plt.subplot函数建立坐标系---与plt.subplot2grid函数类似
(4)plt.subplots函数建立坐标系---同时返回多个坐标系,相当于操作多维数组
(5)几种创建坐标系方法的区别
13.6设置坐标轴
13.6.1设置坐标轴的标题---xlabel、ylabel--- labelpad(距离)
13.6.2设置坐标轴的刻度---xticks、yticks----自定义显示不同刻度处的值
13.6.3设置坐标轴的范围---xlim,ylim---设置坐标轴的最大值和最小值
13.6.4 坐标轴的轴显示设置---axis---设置坐标轴显示/隐藏
13.7其他图表格式的设置
13.7.1网格线设置--grid--axis
13.7.2设置图例---plt.legend(),绘图时必须有label,loc参数修改图例位置
13.7.3图表标题设置---plt.title---loc设置其他
13.7.4设置数据标签---text---zip迭代显示
13.7.5图表注释--annotate
13.7.6 数据表---plt.table
13.8绘制常用图表
13.8.1绘制折线图--plt.plot(x,y)
13.8.2绘制柱形图--plt.bar(x,y,height)
(1)普通柱形图
(2)簇状柱形图
(3)堆积柱形图实例
13.8.3绘制条形图--plt.barh(y(y轴内容),width(x轴内容),height(条
13.8.4绘制散点图--plt.scatter(x,y,s(面积),c(颜色),marcher,线
13.8.5绘制气泡图--plt.scatter()
13.8.6绘制面积图--plt.stacklot(x,y,labels,colors)
13.8.7绘制树地图--squarify.plot(数据列表,图例标签,各个图例颜色,数据标签)
13.8.8绘制雷达图--plt.polar(角度,半径r*pi,color,marker,line
13.8.9绘制箱形图--plt.boxplot(x(箱形的数据),labels:数据的标签,ver
13.8.10绘制饼图---plt.pie(x数据,labels数据标签)
13.8.11绘制圆环图--plt.pie()
13.8.12绘制热力图--plt.imshow(x(矩阵),cmap(配色方案))
13.8.13绘制水平线和垂直线—plt.axhline(y,xmin,xmax)水平/plt.ax
13.9绘制组合图表
13.10绘制双坐标轴图表
13.10.1绘制双y轴图表—plt.twinx()在两个图形之间调用
13.10.2绘制双x轴图表—plt.twinx()
13.11绘图样式设置---plt.style.use(样式明名)
第14章 典型数据分析案例
14.1 利用Python实现报表自动化
14.1.1 为什么要进行报表自动化
14.1.2 什么样的报表适合自动化
14.1.3 如何实现报表自动化
14.2 自动发送电子邮件--smtplib(连接服务器)--email(设置邮件)
14.3 假如你是某连锁超市的数据分析师
14.4 假如你是某银行的数据分析师
第15章 NumPy数组
15.1 NumPy简介
15.2 NumPy数组的生成-----(一般/特殊类型/随机数组)
15.2.1 生成一般数组--np.array(list/dict/嵌套list)
15.2.2 生成特殊类型数组
(1) 生成固定范围的随机数组—arange(start,stop,step)—[start,sto
(2)生成指定形状全为0的数组—zeros(n/(row_num,col_num))
(3) 生成指定形状全为1的数组—ones(n/(row_num,col_num))
(4) 生成一个正方形单位矩阵—eye(n)
15.2.3 生成随机数组
(1)生成0-1之间随机数--np.random.rand(n/row_num,col_num)
(2) 生成正态分布的指定形状数组-- np.random.randn(n/row_num,col_
(3) 生成一定范围内的随机整数数组-- np.random.randint(low,high,si
(4)从已知数组中随机选取相应大小的数组--np.random.choice(num/list,si
(5)将原数组顺序打乱(洗牌)--np.random.shuffle(arr)
生成数组函数总结
15.3 NumPy数组的基本属性---(形状、大小、类型、维数)
15.4 NumPy数组的数据选取
15.4.1 一维数据选取--arr[index]/arr[inedx1,index2]/arr[a
15.4.2 多维数据选取----arr[0:1,3:5]--逗号隔开行列
15.5 NumPy数组的数据预处理
15.5.1 NumPy数组的类型转换--arr.astype(np.type)
15.5.2 NumPy数组的缺失值处理--np.isnan(arr)--arr[np.isnan(
15.5.3 NumPy数组的重复值处理--np.unique(arr)
15.6 NumPy数组重塑--arr_old.size=arr_new.size
15.6.1 一维数组重塑--arr.reshape(row_num,col_num)
15.6.2 多维数组重塑--reshape同上
15.6.3 数组转置-----arr.T
15.7 NumPy数组合并
15.7.1 横向合并--concatenate、hstack、column_stack
(1)concatenate方法---np.concatenate([arr1,arr2],axis=1)
(2)hstack方法--元组np.hstack((arr1,arr2))
(3)column_stack方法---元组np.column_stack((arr1,arr2))
15.7.2 纵向合并--concatenate、vstack、row_stack
(1)concatenate方法--np.concatenate([arr1,arr2],axis=0)
(2)vstack方法--元组np.vstack((arr1,arr2))
(3)row_stack方法---元组np.row_stack((arr1,arr2))
15.8 常用数据分析函数
15.8.1 元素级函数--np.abs(arr)------ abs/square/sqrt/lo
15.8.2 描述统计函数---arr.sum/mean/max(axis=0/1)
15.8.3 条件函数--np.where(condition,x,y)--条件真为x,假为y类似于
15.8.4 集合关系--含(np.inld(arr1,arr2))、交集(intersectld)
对比 Excel 轻松学 Python 数据分析 前言 1、 数据分析的常规流程:1、熟悉工具---2、明确目的---3、获取数据---4、熟悉数据---5、 处理数据---6、分析数据---7、得出结论---8、验证结论---9、展示结论 2、 数据分析一定是先有想法,然后考虑如何用工具实现,而不是刚开始就陷入记忆工具的 使用方法 入门篇 目标 1.对数据分析有一个宏观的认识 2.知道数据分析到底分析什么 3.为什么要做数据分析 4.做数据分析有什么好处 第 1 章数据分析基础 1.1 数据分析是什么: 数据分析是指 利用工具和统计学原理,对数据进行一定的预处理,然后结合具体业务 帮助业务部门监控、定位、分析、解决问题,提高决策和经营效率 1.2 为什么要做数据分析: 可以把隐藏在大量数据背后的信息提炼出来,总结出数据的内在规律 1.3 数据分析在经营中有三大作用 (1) 现状分析:过去发生了什么; (2) 原因分析:某一现状为什么会存在; (3) 预测分析:将来可能发生什么 1.4 数据分析在分析什么 (1) 总体概览指标:(统计绝对数) 是反映某一数据指标的整体规模大小,总量多少的指标 一般会把总体概览指标称为关键性指标,这些将直接决定公词的盈利情况
(2) 对比性指标:是说明现象之间数量对比关系的指标 常用的有:同比,环此,差这几个指标 同比:相邻时间段内某一共同时间点上指标的对比 环比:相邻时间段内的指标的对比 差:两个时间段内的指标直接做差 (3) 集中趋势指标: 是用来反映某一现象在一定时间段内所达到的一般水平,通常用平均指标来表示 平均指标: 1) 数值平均:所有值的平均结果 1 普通平均数:直接权重为 1.总数量 2 加权平均数:权重不为 1,需要乘以权重 2) 位置平均:特殊位置数或出现最多的数, 如中位数(中间位置),众数(次数最多) 中位数:(从小怪大排序.中间的就是中位数.偶数个时是中间两个数的 平均值) 众数:出现最多的数值(只有在总体内单位足够多时才有意义) (4) 离散程度指标: 是用来表示总体分布的离散(波动)情况的指标,如果指标较大,则波动较大, 指标小,此较稳定 常用指标:全距(极差)、方差、标准差 1) 全距(极差):定义:max-min(上界一下界) 1 问题:1.容易受异常值影响,2 只表示了数据宽度,没有上下界之间 的分布 2 解决办法: A. 四分位数:从小到大排席,一分为四,最大的上四分位数,最小 为下四分位数,中间的四分位数为中位数 B. 引入方差和标准差 2) 方差:每个值 n 与均值 k 距离 的平方的平均值 kn  2 ( /2) n 3) 标准差:方差的开方。值与均值距离的平均值 (5) 相关性指标: (  kn /2) n
是整体内的变量之间存在的关系,反映这种关系的指标叫做相关系数,一般用 r 表 示 r(X,Y)=Cov(X,Y)/ [var X ][ ] YVar Cov(X,Y):是 X,Y 的协方差,X,Y 的相互关系的数字特征 Cov(X,Y)=E(X-EX)(Y_EY) 相关系数 r 的范围[-1,1],r 的绝对值越大,表示相关性越强,r 的正负代表相关性 方向,正代表正相关,负代表负相关 1) 正相关: 1 X 增加 Y 增加,X 减小 Y 减小 2 Cov(X,Y)>0 3 原因:大部分在(1)(3)象限,小部分在(2)(4)象限,所以 E(X-EX)(Y_EY)>0 2) 负相关: 1 X 增加 Y 减小,X 减小 Y 增加 2 Cov(X,Y)<0 3 原因:大部分在(2)(4)象限,小部分在(1)(3)象限,所以 E(X-EX)(Y_EY)<0 3) 不相关 1 既不是 X 增加 Y 增加,也不是 X 增加 Y 减小 2 Cov(X,Y)=0 3 原因:(1)(2)(3)(4)象限一样多,所以 E(X-EX)(Y_EY)=0 (6) 相关关系和因果关系 相关!=因果,相关代表有关联,因果代表因果存在 1.5 数据分析的常规流程 (1) 熟悉工具: (2) 明确目的:首先明确分析的目的,希望得到什么
(3) 获取数据:这准备工作: 1) 需要什么指标 2) 什么时间段的数 3) 数据存在哪里 4) 怎么提取,是自己 SQL 还是系统中 (4) 熟悉数据 1) 检查数据多少类型. 2) 所需指标是否满足. (5) 处理数据: 1) 异常:给合具体业务处理 2) 重复:删除重复 3) 缺失:比例高于 30%,放弃指标,低于 30%,填充 0,均值、众数 等 (6) 分析数据:围绕着指标展开.并且经常采用的一个方法一--下钻 (7) 得结论 (8) 验证结论 (9) 展示结论 1.6 数据分析工具 (1) 导入数据 【Excel】中;【数据】--【获取外部数据】 【Python】中;格式不同,代码不同 .csv 文件:data=pd.read_csv(filepath,encoding=”gbk”) Pd.read_excel,pd.read_table(txt) 数据库:pd.read_sql(“select * from test”,con)
实践篇 第 2 章熟悉锅——Python 基础知识 2.1 流程 Python 基础--->获取数据源--->数据预处理---->数据筛选---->数值操作---->数据运算 ---->时间序列----->数据分组----->多表拼接---->结果导出 2.2 工具 Jupyter Notebook (1) 右上角[new]----[Python 3]----创建文件(txt 也行) (2) 输入框中:print(“hello world”)--[Run]/Ctrl+Enter 左上角[+]增加新代码 (3) 保存: 1) File---->Save and Checkpoint(默认路径) 2) Download as (另存为) (4) 导入本地 Jupyter Notebook 文件 Ipynb 文件导入 [Upload]按钮 (5) Jupyter Notebook 与 Markdown(可以用于分析) 1) 默认为 code 模式,用于编程 2) 切换为 Markdown 模式 1 代码框变成文本框,支持 Markdown 语法 2 做分析时,可以利用 Markdown 写下分析结果 (6) 为 Jupyter Notebook 添加目录 目录不自带,需要手动安装 1) Windows+R 输入 Anaconda Promp 打开 2) 输入 pip install jupyter_contrib_nbextensions-------------Enter 3) y/n----y----Enter-----Successfully installed 4) 输入 jupyter contrib nbextension install -----user-----Enter 配置用户 5) 打开 Jupyter Notebook -----[Nbextensions]-----勾选[Table of Contens(2)] 6) 打开一个已经有的目录的 ipynb 文件:右上角方框按钮文件夹显示 (7) 创建带有目录的文件
1) 代码框格式----Heading 2) 直接输入不同级别标题 #代表级 个数代表第几级 # 一级 ##二级 ###三级 3) 运行上述代码块 2.3 基础语法 2.3.1 输出与输出格式设置 format() 类型 实例 备注 字符串 str print(‘我正在学习:{}’.format(‘Python 基础’)) {}是通配符 print(‘我正在学习:{}中的{}’.format(‘Python’,’基础知识’)) str.format() 浮点.2f print(“{}约{:.2f}亿”.format(“2018 年中国单身青年人数”,2)) .2f,.3f(两位三位小数) 百分比% print(“中国男性占总人口比例:{:.2%}”.format(0.519)) .2f%百分比形式展 示,2 -------51.90% 位小数 2.3.2 注释 #单行注释 3 对单引号或者双引号 ‘“”’ 多行注释 “““””” 2.3.3 容器 str/list/dict/tup 名称 表示方法 方法 备注 字符串 str 单引号/双引号 1、连接:’A’+’B’----’AB’ 2、复制:’A’*3-----’AAA’ 3、长度:len(‘A’)------1 4、查找:(1)’A’in(not in)‘ABC’----True/False (2)’ABC’.find(‘D’)---- -1(找不到) (3)‘ABC’.find(‘A’)----- 0(找到) 5、索引(从 0 开始)a=’ABCDEFG’ (1)a[0]--’A’---------直接用 0 位置索引 (2)a[1:3]--’BCD’--- 使用位置索引切片 (3)a[:3]----’ABCD’--省略首 代表从 0 起 (4)a[3:]-----’EFG’---省略尾是到结束
(5)a[-1]------’G’---可以使用负索引,从第一个 开始 6、分隔:str.split(‘,’)-------字符串列表 “ABCD,EF,G”.split(“,”)-----[‘ABCD’,’EF’,’G’] 7、移除:str.strip(‘,’)------字符串 (1)默认移除首尾空格或换行符 “ a ”.strip()----’a’ (2)指定字符串 “ABCDABCD”.strip(“A”)------’BCDBCD’ 列表 list list=[1,2,3] 1、概念:[]括号,元素中为逗号,可变数据类型, 可以使用的类型 int,str,int+str 2、新建 list:int_str_list=[1,2,”A”,”B”] 3、复制 list:同 str int_list*2----[1,2,3,1,2,3] 4、合并 list (1)直接用+,有前后顺序 (2)int_list.extend(str_list)-------int_list + str_list 5、增加元素:append()和 insert() (1)int_list.append(4)-----[1,2,3,4]--------在队尾增加 (2)int_list.insert(2,4)-----[1,2,4,3]--------在索引 2 位 置增加 4 6、元素计数 count() int_list.count(1)------- 1 7、元素位置(索引),获得某一个元素的位置(即 索引) Int_list.index(2)------- 1 表示 2 在列表中的索引是 2,是第 2 个元素 8、根据位置(索引)获得值 (1)普通索引 int_list[0]------1
(2)切片索引 int_list[ :2]-----[1,2,3] Int_list[1:2]----[2,3] 9、删除元素 pop()和 remove() (1)str_list.pop(1) --[‘A’,’C’] pop()根据索引位置删 除 (2)str_list.remove(‘B’)--[‘A’,’C’] --remove()根据元 素删除指定元素 10、元素排序 sort() 默认升序 S=[1,3,2,5,4] S.sort()------[1,2,3,4,5] 字典 dict(类似 map) dict={“ 张 三”:90,” 1、概念:key--value 结构,key 唯一;使用{}表示 李四”:91} dict={key1:value1,key2:value2} 2、新建 dict: (1)先创建空,在添加值 dict={} dict[“张三”]=90 dict[“李四”]=91 (2)直接使用 key-value 创建 dict={“张三”:90,”李四”:91} (3)用列表(list)转成元组(tup)再转成字典(dict) tup=([“张三”,90],[“李四”,91]) dict=dict(tup) 3、字典的 keys(),values(),items() (1)keys():获得所有的 key 返回到元组 tup 中 dict.keys()------key_tup([‘张三’,’李四’]) (2)values():获得所有的 value 返回到元组 tup 中 dict.values()------value_tup([90,91]) (3)items():获得所有的 key-value 对返回到元组 tup 中 dict.items()-------item_tup([(‘张三’,90),(‘李四’,91)] ) 元组 tup tup=(1,2,3) 1、概念:元素不可更改;使用小括号,元素之间用 逗号
分享到:
收藏