Python相关库的使用

师从SNOW

数值处理-Numpy库的使用

import numpy as np

#1、Numpy数组的创建
arr=np.array([1,2,3,4,5])

print(arr)
print(type(arr))

arr=np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])#创建二维数组
print(arr)
print(type(arr))
print("数组形状:",arr.shape)

#2、索引和切片
print(arr[0])
print(arr[0:3])
print(arr[1][2])

#运算 +-*/对应位置上的元素进行
print([1,2,3]+[4,5,6])#[1,2,3,4,5,6]
print(np.array([1,2,3])+np.array([4,5,6]))#[5,7,9]
print(np.array([1,2,3])*np.array([4,5,6]))#[4,10,18]

#数组形状操作
arr=np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
print(arr.shape)
new_arr=arr.reshape(2,6)
print(new_arr,"新的数组的形状是:",new_arr.shape)
new_arr_T=new_arr.transpose()
print(new_arr_T,"新的数组的转置的形状是:",new_arr_T.shape)

#进阶使用 线性代数 统计
arr1=np.array([1,2,3])
arr2=np.array([4,5,6])
arr1_dot_arr2=np.dot(arr1,arr2)
print(arr1_dot_arr2)

arr=np.array([[5,2,3],[2,7,4],[99,4,5],[4,15,6]])
print("数组的平均值",np.mean(arr))
print("数组的平均值",arr.mean())
print("数组的最大值",np.max(arr))
print("数组的最小值",arr.min())
print("数组的标准差",arr.std())
print("数组的排序",np.sort(arr.reshape(-1)))#numpy的函数

print(arr[(arr>10)&(arr<15)])#筛选    & 按位 与  等效于在每一位上进行一次and
print(arr[(arr>10)|(arr<5)]) #筛选    | 按位 或  等效于在每一位上进行一次or


Numpy的课后练习

"""
3.2 Numpy课后练习
4*4 随机数组 只保留10以内的数 并计算出所有元素的和
"""
np.random.seed(1234444)     #固定随机数种子
print(np.random.rand())     #0-1之间随机浮点数
arr=np.random.randint(0,100,16).reshape(4,4)    #0-100之间的随机整数
print(arr)
print(np.sum(arr[arr<=10]))

表格处理-Pandas库的使用

import pandas as pd
import pandas as np

"""
鸢尾花数据集.xlsl是文件名     Sheet1是文件位置     
"""
df =pd.read_excel("鸢尾花数据集.xlsl","Sheet1",engine="openpyxl")

#打印文件前十行
print(df.head(10))
print(type(df))

arr=np.array([1,3,4])

data={'样本号':[1,2,3],'萼片长(cm)':[8,9,2.1,4.5],'类型_num':[0,0,1]}

"可以认为DataFrame是pandas提供的excell表"
datadf=pd.DataFrame(data)
print(datadf)

#基础信息
print(df.head())    #默认是前5行
print(df.info)      #打印基础信息

#缺失值处理
df.dropna() #将缺失值所在的行全部去掉

#将所有数据的类型改为float类型
# df['类型_num']=df['类型_num'].astype(float)
print(df.info)

#选择和过滤

#筛选出  类型_num=1的数据
df_1=df[df['类型_num']==1]
print(df_1.head())
print(df_1.info())


lb=df['花萼宽(cm)'].mean()-3*df['花萼宽(cm)'].std()
ub=df['花萼宽(cm)'].mean()+3*df['花萼宽(cm)'].std()

selected_df=df[df['花萼宽(cm)']>=lb&df['花萼宽(cm)']<=ub]
print(selected_df)

Pandas的课后练习

import pandas as pd
import numpy as np

data={'姓名':["张三","李四","王五","老六","赵七"],
      '身高':[175 for i in range(5)],
      '体重':[50 for i in range(5)],
      '成绩':np.random.randint(40,90,5)}

df=pd.DataFrame(data)
print(df)
print(df[df['成绩']==max(df['成绩'])])
print("本班的平均分是",np.mean(df['成绩']))
new_df=df[df['成绩']<60]
print("本班这次考试不及格的同学有:",new_df['姓名'])

图像生成-Matplotlib库的使用

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 解决汉字在图像中显示不了的问题
mpl.rcParams['axes.unicode_minus'] = False  # 解决减号在图像中显示不了的问题

x = np.linspace(0, 10, 10)
y = np.sin(x)

x2 = np.linspace(0, 10, 100)
y2 = np.sin(x2)  # 修正这里,使用 x2 计算 y2


# plt.plot(x,y)
# #设置图像的标题
# plt.title("y=sin(x)")
# #设置x轴的标题
# plt.xlabel("x")
# #设置y轴的标题
# plt.ylabel("y")


plt.scatter(x, y, marker='*', c='r', label="数据点")  # 散点图    
#marker='*'是设置数据点的形状,c='r'是设置线的颜色

plt.plot(x2, y2, linestyle='--', label="拟合结果")  # 折线图
#linestyle='--'设置线的形状

plt.legend()  # 显示图例  即label=...
plt.show()

若有侵权,请联系作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘~风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值