微信做购物网站怎么抽佣,国内外包平台,网站初期吸引用户注册,公司网站如何建设教程各位大佬好 #xff0c;这里是阿川的博客 #xff0c; 祝您变得更强 个人主页#xff1a;在线OJ的阿川
大佬的支持和鼓励#xff0c;将是我成长路上最大的动力
阿川水平有限#xff0c;如有错误#xff0c;欢迎大佬指正 承接上篇的博客 数据分析—技术栈和开发环境搭…
各位大佬好 这里是阿川的博客 祝您变得更强 个人主页在线OJ的阿川
大佬的支持和鼓励将是我成长路上最大的动力
阿川水平有限如有错误欢迎大佬指正 承接上篇的博客 数据分析—技术栈和开发环境搭建 Python初阶 Python–语言基础与由来介绍 Python–注意事项 Python–语句与众所周知 目录 Numpy数组类具体操作 Pandas基本类Series类具体操作 DataFrame类 数据分析最常用的两个库为Numpy和Pandas 用的编辑器为Jupyter notebook 接下来的代码将基于该编辑器中实现 Numpy
首先先在cmd命令提示符当中安装该库 要使用该库还要在jupyter notebook导入该库
数组类
.array方法 创建数组.ndim 方法 查看数组维数.shape 方法 以元组的形式查看数组几维几元素.size 方法 查看数组元素总个数.dtype 方法 查看数组元素类型.zerosn 方法 创建n个为0的数组.onesn方法 创建n个为1的数组 n为任意数字数组元素类型为浮点型 .arange n,n , n方法 创建以n到n左闭右开步长为n的数组.concatenate方法 将多个数组连接一起并不改变各个数组.sort方法 对数组进行排序[索引 ] 数组可以通过索引进行查找[ n:n ] 数组可以通过切片进行查找 n表示任意数字 数组 数组 数组相加表示拼接数组数组 * n 表示利用数组的广播机制对数组每个元素都乘以n 广播机制 .max方法 表示数组的最大元素.min方法 表示数组的最小元素.sum方法 表示数组元素总和.mean方法 表示数组元素的平均值数组[ I或者 ] 表示数组中加条件
具体操作
具体操作的图: 如果你想练习以上方法这里有些题: 答案是
import numpy as np
arr1 np.array([6, 2, -7, 2, 8, -2, 1])
arr1
arr2 np.array([[1, 3, 5], [2, 4, 6]])
arr2
print(arr1.ndim)
print(arr2.ndim)
print(arr1.shape)
print(arr2.shape)
print(arr1.size)
print(arr2.size)
print(arr1.dtype)
print(arr2.dtype)
arr3 np.zeros(6)
arr3
arr4 np.ones(5)
arr4
arr5 np.arange(10, 21, 2)
arr5import numpy as np
arr1 np.array([1, 3, 2, 4, 9])
arr1
arr2 np.ones(5)
arr2
arr3 np.zeros(5)
arr3
arr_sum np.concatenate([arr1, arr2, arr3])
arr_sum
arr1.sort()
arr1
print(arr1[2])
print(arr1[-3])
print(arr1[1:4])
arr1 arr2
arr1 * 5
print(arr1.max())
print(arr1.min())
print(arr1.sum())
print(arr1.mean())
arr1[(arr1 1) | (arr1 3)]Pandas
Pandas库中有两个最重要的方法
.Series.DataFrame
基本类
.iloc[ ] 以位置索引查找数组元素位置索引从零开始可以与切片搭配使用.loc[ ]以标签索引查找数组元素可以与切片搭配使用[|或者d ] 条件选择数组元素.add方法 将两个数组相加且参数中可以加缺失值若不写缺失值 则两个数组默认相同索引相加 如果没有相同索引则会报错.describe方法 打印统计信息 元素数量count元素平均值mean元素标准差std元素前1/425%元素前2/450%元素前3/475%元素最大值max元素类型dtype .apply Python中的高阶函数 可以包含其他函数.index 展示索引.columns 展示维度.T 表示对数组转置.headn表示展示数组中的前面n行.drop[“标签索引” ],axis0或者1 表示删除针对于某行或者某列的该标签索引的数据axis0 表示行实际操作是列axis1 表示列实际操作是行lambda关键词 这是Python当中的关键词与apply搭配使用可以实现具体的函数applymap普通函数 表示将数组中的每个元素放入普通函数中
Series类
.Series[ ] 创建一维表格且索引默认为零开始.Series[ ]index [ ]创建表格且指定索引.Series{ }创建字典类型表格
具体操作
具体操作的图 如果你想练习以上方法这里有些题: 答案是:
import pandas as pd
s1 pd.Series([-1.2, 3.7, 2.5, -8.2, 6.3])
s1
s2 pd.Series([1, 2, 3, 4, 5], index[5, 4, 3, 2, 1])
s2
print(s2.iloc[1])
s2.loc[5:3]
s3 pd.Series({小李:82, 小陈:93, 小张:91, 小曾:78, 小邓:68})
s3
s3.loc[小张] 95
s3
s3[(s3 80) (s3 90)]import pandas as pd
s1 pd.Series([92, 67, 70, 88, 76], index [小明, 小红, 小杰, 小丽, 小华])
s1
s2 pd.Series([95, 85, 60, 79, 76], index [小明, 小杰, 小宇, 小娟, 小彤])
s2
s1.add(s2, fill_value 0)
s1.describe()
s1 s1 5
s1
def get_grade_from_score(score):if score 90:return Aelif score 80:return Belif score 70:return Celif score 60:return Delse:return 不及格
s1.apply(get_grade_from_score)
DataFrame类
.DataFrame创建二维表格默认标签为列标签 这里的二维是指两个维度 分别为列维度和行维度 是列标签和行标签 .DataFrame[ 列标签] 表示以该列标签索引查找表格元素.DataFrame[“列标签”:“列标签”] 表示以多个该列标签索引搜索数据DataFrame.loc[ “行标签”“列标签”] 表示以该行标签和列标签索引搜索数据SeriesDataFrame 可以相加但要注意标签索引要相对应DataFrame n 表示当中元素数据n n表示任意数字 如果你想练习以上方法这里有些题: 答案是
import pandas as pd
name pd.Series([小陈, 小李, 小王, 小张, 小赵, 小周], index[1, 2, 3, 4, 5, 6])
gender pd.Series([女, 女, 男, 男, 女, 男], index[6, 5, 4, 3, 2, 1])
height pd.Series([172.5, 168.0, 178.2, 181.3, 161.7], index[1, 2, 3, 4, 5])
students pd.DataFrame({姓名:name, 性别:gender, 身高:height})
students
print(students.index)
print(students.columns)
students.T
students[身高]
students[[性别, 身高]]
students.loc[3:5]
students.loc[3:5, 姓名:身高]
students.loc[3:5, : ]
students[(students[身高] 165) (students[性别] 女)]
students.head(5)import pandas as pd
students {1:{姓名 :小陈, 考试1:85, 考试2:95, 考试3:92}, 2:{姓名:小李, 考试1:91, 考试2:92, 考试3:94}, 3:{姓名:小王, 考试1:86, 考试2:81, 考试3:89}, 4:{姓名:小张, 考试1:79, 考试2:89, 考试3:95}, 5:{姓名:小赵, 考试1:96, 考试2:91, 考试3:91}, 6:{姓名:小周, 考试1:81, 考试2:89, 考试3:92}}
students pd.DataFrame(students).T
students
students[考试4] [72, 69, 79, 83, 82, 76]
students
students.loc[7] {姓名:小杨, 考试1:79, 考试2:82, 考试3:81, 考试4:69}
students
students.drop([6, 7], axis 0)
students.drop([考试2, 考试4], axis 1)
bonus pd.Series({考试1:2, 考试2:3, 考试3:2, 考试4:5})
bonus
bonus students[[考试1, 考试2, 考试3, 考试4]]
students[考试4] students[考试4] 10
studentsimport pandas as pd
import numpy as np
students {1:{姓名 :小陈, 考试1:85, 考试2:95, 考试3:92}, 2:{姓名:小李, 考试1:91, 考试2:92, 考试3:94}, 3:{姓名:小王, 考试1:86, 考试2:81, 考试3:89}, 4:{姓名:小张, 考试1:79, 考试2:89, 考试3:95}, 5:{姓名:小赵, 考试1:96, 考试2:91, 考试3:91}, 6:{姓名:小周, 考试1:81, 考试2:89, 考试3:92}}
students pd.DataFrame(students).T
students
score_average students.loc[ : , 考试1:考试3].mean(axis 1)
name students[姓名]students_average pd.DataFrame({姓名:name, 平均分:score_average})
students_average
students.loc[ : , 考试1:考试3].apply(lambda x: np.sort(x)[-2])
def grade_from_score(score):if score 95:return Aelif score 90:return Aelif score 85:return Belif score 80:return Belif score 75:return Celse:return C
students.loc[ : , 考试1:考试3].applymap(grade_from_score)
students[考试1] students[考试1].astype(int)
students[考试2] students[考试2].astype(int)
students[考试3] students[考试3].astype(int)
students.describe()请踏实的走好每一步路一定会变得更强
好的到此为止啦祝您变得更强 道阻且长 行则将至
个人主页在线OJ的阿川大佬的支持和鼓励将是我成长路上最大的动力