年龄分布统计表,年龄分布表

  年龄分布统计表,年龄分布表

  Yyds干货库存

  2.使用最小二乘法预测贷款金额:给定的训练样本集如下:

  解:工资1.8万,年龄30,名额多少?给出代码和运行结果图。

  难点在于绘制带两个参数的三维图时引入mpl_toolkits.mplot3d。

  最小二乘公式是一样的P=(x tx)-1 x t y,画图的时候分别给x,y,z y,z轴赋值,写坐标标签。因为数据中的小数位太多,超过位数的范围就会报错,所以小数位要改成整数!

  将numpy作为np导入

  从numpy进口材料

  将matplotlib.pyplot作为plt导入

  从mpl _ toolkits . mplot 3d import axes 3d #画一个三维图

  if __name__==__main__ :

  # 1获取x,y数据# # # # # # # #

  X=np.array([[4000,25]、[8000,30]、[5000,28]、[7500,33]、[12000,40]])

  Y=np.array([20000,70000,35000,50000,85000])

  # 2矩阵形式的X,Y变换

  Y_mat=mat(Y)。T

  X_temp=np.ones((5,3))

  X_temp[:0]=X[:0]

  X_temp[:1]=X[:1]

  #打印(X_temp)

  X_mat=mat(X_temp)

  #打印(X_mat)

  # 3使用分析方法P=(x tx)-1 x t y

  pamaters=(((X_mat。T) * X_mat)。I) * X_mat。T * Y _马特

  #打印(材料)

  # 4显示屏

  图1=plt .图()

  ax1=Axes3D(图1)

  x=X[:0]

  y=X[:1]

  z=Y

  Z=X_mat * pamaters

  #打印(Z)

  n=list (map (int,z [:0])中的位数# z超出范围。

  #打印(n)

  ax1.scatter3D(x,y,z,c=blue )

  ax1.plot3D(x,y,n,c=red )

  Plt.title(贷款额度预测图表)#设置图表标题

  Plt.xlabel (salary) #设置X轴标签

  Plt.ylabel (age) #设置Y轴标签

  Ax1.set_zlabel (limit) #设置z坐标标签。

  PLT . rcparams[ font . sans-serif ]=[ Kaiti ]#常用的显示中文(粗体)的字体一般包括:Kaiti-italics;宋芳——仿宋;微软雅黑-微软雅黑

  PLT . RC params[ axes . unicode _ MINUS ]=false #用于正常显示负号。

  plt.show()

  A=eval(输入(请输入薪金:))

  B=eval(输入(请输入年龄:))

  s=np.array([[a,b]])

  打印数量

  s_temp=np.ones((1,3))

  s_temp[:0]=s[:0]

  s_temp[:1]=s[:1]

  #打印(临时)

  s_mat=mat(s_temp)

  m=s_mat * pamaters

  打印(贷款金额为:,m)三维散点图和折线图

  输入工资和年龄输出贷款金额!

  3.统计年龄分布(5岁区间统计),绘制年龄分布图。

  data=data.copy()

  Data[ age]=[dt.datetime.today()。year-I . year for I in PD . to _ datetime(data[出生日期]]如果不添加data.copy(),会得到一个错误。

  SettingWithCopyWarning:试图在数据帧的切片副本上设置值。尝试使用。loc[row_indexer,col_indexer]=值

  完整代码:导入熊猫作为pd

  将numpy作为np导入

  将matplotlib.pyplot作为plt导入

  将日期时间作为dt导入

  #读取CSV文件以生成数据帧

  df=pd.read_csv(D:/luohu3.csv )

  打印(df)

  Print(df.info()) #获取数据帧的摘要

  Print(df.head()) #根据位置返回对象的前N行信息(默认值为5),用于快速测试数据集。

  Print(df.describe()) #生成描述性统计,汇总数据集分布的集中趋势、分散程度和形状,不包括NaN值。

  #数据预处理

  Data=df.dropna(0) #删除所有包含空值的行或列

  print(data.info())

  # data=df.drop_duplicates()

  # print(data.info())

  #获取年龄数据

  data=data.copy()

  Data[ age]=[dt.datetime.today()。year-I . year for I in PD . to _ datetime(data[生日]] #如何处理日期数据

  X=数据[年龄]

  #设置统计分数段的范围

  Print(data.describe()) #检查最大值和最小值

  bin=NP . arange(35,65,5)

  Time_bins=pd.cut(x,bins) #离散化数据

  打印(时间箱)

  #根据整数分区间隔进行分组统计。

  1=data . group by(time _ bins)[ age ]。计数()

  打印(df1)

  #绘制图形

  df1.plot(kind=bar ,rot=0)

  PLT . rcparams[ font . sans-serif ]=[ Kaiti ]#常用的显示中文(粗体)的字体一般包括:Kaiti-italics;宋芳——仿宋;微软雅黑-微软雅黑

  PLT . RC params[ axes . unicode _ MINUS ]=False

  plt.show()

  转载请联系作者获得授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: