Python-4

31.创建具有两层索引结构的Series对象

描述:请参考编程模板完善代码,使用嵌套列表的方式创建具有两层索引结构的Series对象mulitindex_series。通过外层索引访问内层内容。

ulitindex_series如下:

运动  户外服装      1584

   运动卫衣      1342

   休闲鞋       1207

   跑步鞋       7818

   篮球鞋       7446

食品  名优白酒      6444

   零食大礼包    15230

   健康新零食     8269

dtype: int64


import pandas as pd
mulitindex_series = pd.Series([1584,1342,1207,7818,7446,6444,15230,8269],
                             index=[['运动', '运动', '运动', '运动', '运动',
                                     '食品', '食品', '食品'],
                                    ['户外服装', '运动卫衣', '休闲鞋', '跑步鞋', '篮球鞋',
                                     '名优白酒', '零食大礼包', '健康新零食']])
x = input("")
print(mulitindex_series[x])
print(type(mulitindex_series[x]))

32. 创建具有两层索引结构的DataFrame对象

描述:参考编程模板完善代码,使用嵌套列表的方式创建创建具有两层索引结构的DataFrame对象mulitindex_df。通过外层索引访问内层内容。

litindex_df如下:

         记录条数

运动 户外服装   1584

  运动卫衣   1342

  休闲鞋    1203

  跑步鞋    7813

  篮球鞋    7456

食品 名优白酒   6644

  零食大礼包  1230

  健康新零食  8269
 

 
from pandas import DataFrame,Series
mulitindex_df = DataFrame({'记录条数':[1584,1342,1203,7813,
                                  7456,6644,1230,8269]},
                             index=[['运动', '运动', '运动', '运动', '运动',
                                    '食品', '食品', '食品'],
                                   ['户外服装', '运动卫衣', '休闲鞋', '跑步鞋', '篮球鞋',
                                    '名优白酒', '零食大礼包', '健康新零食']])
x = input("")
print(mulitindex_df.loc[x, :])
print(type(mulitindex_df.loc[x,:]))

33. 科赫曲线绘制

描述:自然界有很多图形很规则,符合一定的数学规律。科赫(Koch)曲线在众多经典数学曲线中非常著名,由瑞典数学家冯•科赫(H•V•Koch)于1904年提出,由于其形状类似雪花,也称为雪花曲线。本题已给出绘制科赫曲线的函数koch_snowflake(order, scale=10)。请调用koch_snowflake函数绘制图形。

#设置画布
fig = plt.figure(figsize=(9,3))
#子图1:2阶科赫曲线
ax1 = fig.add_subplot(1,3,1)
x1, y1 = koch_snowflake(order=2)
ax1.fill(x1, y1)   #默认图像格式
plt.title("order=2 科赫曲线")
#子图2:3阶科赫曲线
ax2 = fig.add_subplot(1,3,2)
x2, y2 = koch_snowflake(order=3)
ax2.fill(x2, y2, facecolor='#eeeeee', edgecolor='xkcd:sky blue', linewidth=3)
plt.title("order=3 科赫曲线")
#子图3:4阶科赫曲线
ax3 = fig.add_subplot(1,3,3)
x3, y3 = koch_snowflake(order=4)
ax3.fill(x3, y3, facecolor='none', edgecolor='purple', linewidth=1)
plt.title("order=4 科赫曲线")

34.北京市水资源数据可视化

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.rcParams["font.sans-serif"] = "SimHei"
plt.rcParams["axes.unicode_minus"] = False
df_water = pd.read_csv('2001-2017年北京市水资源情况信息.csv', engine="python")
df_water = df_water.T
df_water.columns = pd.Series([i.replace(" ","") for i in list(df_water.iloc[0,:])])
df_water = df_water.iloc[1:,:]
d = {}
for i in list(df_water.columns):
   d[i]= "float"
df_water = df_water.astype(d)
#确定画布大小为8*8英寸,分辨率为100
fig = plt.figure(figsize=(12,12),dpi=100)  
#添加第一幅子图:全年水资源量、地表水资源量、地下水资源量
ax1 = fig.add_subplot(2,2,1)
plt.title("全年水资源量折线图")
plt.xlabel("年份")
plt.ylabel("亿立方米")
plt.plot(df_water.index, df_water.iloc[:,0], 'r-')
plt.plot(df_water.index, df_water.iloc[:,1], 'g--')
plt.plot(df_water.index, df_water.iloc[:,2], 'b:')
plt.xticks(range(0,18,2),np.array(df_water.index)[range(0,18,2)],rotation=45)
#x轴刻度为年份,隔2年显示,45度斜显示
plt.yticks([0,5,10,15,20,25,30,35,40])
#y轴刻度为0至40,相隔5
plt.legend(df_water.columns[0:3])
##添加第二幅子图:人均水资源(单位:立方米/人)
ax2 = fig.add_subplot(2,2,2)
plt.title("人均水资源量散点图")
plt.xlabel("年份")
plt.ylabel("立方米/人")
plt.scatter(df_water.index, df_water.iloc[:,3],marker='o', c="blue")
#绘制点的类型为circle('o'),颜色为蓝色
plt.xticks(range(0,18,2),np.array(df_water.index)[range(0,18,2)],rotation=45)
#x轴刻度为年份,隔2年显示,45度斜显示
plt.yticks([i for i in range(100,210,10)])   #列表的推导式
#y轴刻度为100至200,相隔10
plt.legend(["人均水资源(立方米/人)"])
##添加第三幅子图:2017年农业用水、工业用水、生活用水、生态环境用水饼图
ax3 = fig.add_subplot(2,2,3)
plt.title("2017年用水量饼图")
plt.pie(df_water.iloc[-1,10:14],explode=[0.01,0.01,0.01,0.01], labels=list(df_water.columns[10:14]), \
       autopct="%1.2f%%")  #绘制饼图
#设置饼图中各个饼之间的间距均为0.01,百分比显示格式为小数点后保留2位;
##添加第四幅子图:2001-2017年万元地区生产总值耗水量(立方米)
ax3 = fig.add_subplot(2,2,4)
plt.title("2001-2017年万元地区生产总值耗水量箱线图")
plt.boxplot(df_water.iloc[:,-1], notch=True, labels=["万元地区生产总值耗水量(立方米)"], \
          meanline=True)
#凹口的形式展现箱线图,用线的形式表示均值
plt.savefig("2001-2017年北京市水资源情况信息0.png")

35.Seeds数据集聚类结果可视化对比

#创建子图1
plt.title("聚类为3")
plt.plot(df1.iloc[:,0],df1.iloc[:,1],'bo')
plt.plot(df2.iloc[:,0],df2.iloc[:,1],'r*')
plt.plot(df3.iloc[:,0],df3.iloc[:,1],'gD')
#创建子图2
plt.title("聚类为4")
plt.plot(df1.iloc[:,0],df1.iloc[:,1],'bo',df2.iloc[:,0],df2.iloc[:,1],'r*',df3.iloc[:,0],df3.iloc[:,1],'gD',df4.iloc[:,0],df4.iloc[:,1],'yD')

36. 鸢尾花数据集聚类结果可视化

df1 = df[df['labels'] == ls_labels[0]]
df2 = df[df['labels'] == ls_labels[1]]
df3 = df[df['labels'] == ls_labels[2]]  
fig = plt.figure(figsize=(9,6),dpi=200)                    ##设定空白画布为9*6,分辨率为200
plt.title("聚类二维可视化")                          #设置标题
plt.legend(["setosa","versicolor","virginica"])                         #设置图例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值