文章目录
Numpy
一、数组的创建
1.创建数组
通过numpy中的array方法,可以创建一维、二维以及多维数组。每增加一维,则增加一层嵌套关系。
import numpy as np
# 一维数组
data1=[1,2,3,4,5]
array1=np.array(data1)
# 二维数组
data2=[[1,2,3],[4,5,6]]
array2=np.array(data2)
#三维数组
data3=[[[1,2,3],[4,5,6]]]
array3=np.array(data3)
二、查看数组的维度和数据类型
1.测试维度
array1.ndim
2.查看维度大小
import numpy as np
data2=[[1,2,3],[4,5,6]]
array2=np.array(data2)
array2.shape
输出结果中第一个数字代表最外层嵌套的维度下数组的个数,第二个数代表里层的维度下数组的个数。
3.查看数组元素的数据类型
array1.dtype
4.修改元素数据类型
array1.astype('str')
三、数组元素的引用与运算
Pandas
一、Series
Series作为一维数组,能保存不同类型的数据,用于储存一行或一列数据,并有与之对应的索引集合。
from pandas import Series
# 创建Series数组
s1 = Series(['wangxing','man',24],index=['name','sex','age'])
# 显示索引
s1.index
# 显示值
s1.values
# 按索引名访问
s1['name']
# 按索引号访问,与索引名可同时使用
s1[0]
# 通过索引修改值
s1['name']='liu'
# 可通过字典创建Series数组
sd = {
'python':9000,'c++':9001,'c#':9000}
s2=Series(sd)
二、DataFrame
DataFrame作为二维的表格型数据结构,可用于存储多行和多列的数据集合。
from pandas import DataFrame
# 通过字典创建表格
data = {
"name":['google','baidu','alibaba'],
"marks":[100,200,300],
"price":[1,2,3]
}
df1 = DataFrame(data)
# 自定义列顺序
df2=DataFrame(data,columns=['price','name','marks'])# name与price进行了交换
# 自定义索引
df3 = DataFrame(data,columns=['name','marks','price'], index=['a','b','c'])
# 按行名、列名访问表格
df3.at['a','name']
# 按列名、行名访问表格
df3['name']['b']
# 访问行
df4[1:]
# 修改数据
df4['name']['a']='youtobe'
三、数据导入
四、数据导出
五、数据处理
1.处理重复值
from pandas import DataFrame
from pandas import Series
df=DataFrame({
'age':Series([26,85,64,85,85]),
'name':Series(['张三','王二','小小','王二','李李'])
})
#默认删除所有行重复元素,当行元素全部相同才会删除
df.drop_duplicates()
#删除除第一个、最后一个、所有重复数据。keep代表无保留
df.drop_duplicates(keep=False)
#删除指定列的重复数据,该列一但出现相同数据则删除整行
df.drop_duplicates(subset='age')
2.处理缺失值
主要通过dropna()去除缺失值,fillna()填充缺失值。
df=read_excel(r'C:\Users\彦哥\Desktop\rz.xlsx', 'Sheet1', header=1)
# 去除值为空的数据行(只要有一个数据为空,整行去之)
df.dropna()
# 除非整行数据为空,否则不弃
df.dropna(how='all')
# 照列丢弃
df=df.dropna(axis=1)
# 替代缺失值
df=df.fillna('?')
# 利用字典对不同列填充不同的值
df=df.fillna({
'军训':0})
# 使用前一个(同一列)数据替代
df=df.fillna(method='pad')
df=df.fillna(method='ffill')
# 使用后一个(同列)数据替代
df=df.fi