python学习笔记之一些测试代码(四)

tech2024-10-25  6

# 测试代码1--json库的使用 # 新建一个字典 dic_v1 = {"confirm":500,"heal":480} #创建字典 print(dic_v1) print(type(dic_v1)) # 将字典dic_v1转换为字符串 print("将字典dic_v1转换为字符串".center(30,'=')) import json str_v1 = json.dumps(dic_v1) #将字典转换为字符串 print("字典转换为字符串后的值:",str_v1) print("使用dumps转换字典为字符串类型:",type(str_v1)) #将字符串转换为字典 print("#将字符串转换为字典".center(30,'=')) dic_v2 = json.loads(str_v1) print("字符串转换为字典后的值:",dic_v2) print("使用loads转换字符串为字典类型:",type(dic_v2)) #测试代码2--python中字典容器对象的使用 dic_v3 = {"确诊":1000,"治愈":800,"死亡":200} #创建字典 #遍历字典中的所有键 for dic_key in dic_v3.keys(): print(dic_key) ##遍历字典中的所有值 for dic_value in dic_v3.values(): print(dic_value) ##遍历字典中的所有键值对 for dic_item in dic_v3.items(): print(dic_item) #访问字典中的某个元素 print("访问字典中的某个元素",dic_v3['治愈']) #用键获取元素值 print(dic_v3.get("治愈","没有您的访问内容")) #用get方法获取元素值 #测试代码3—pandas中,保存数据到本地 dic_v4 = {"学生1":{"姓名":"沃登","年龄":21,"性别":"男"}, "学生2":{"姓名":"沃尔登","年龄":22,"性别":"男"}} dic_v5 = [{"姓名":"沃登","年龄":21,"性别":"男"}, {"姓名":"沃尔登","年龄":22,"性别":"男"}] import pandas as pd stu_df = pd.DataFrame(dic_v4) #利用DataFrame数据框,将字典转化为dataframe格式的数据 stu_df.to_csv("student.csv") #将dataframe格式的数据保存到本地csv格式的文件 #,encoding = "gbk"或者"utf-8" pd.DataFrame(dic_v4) # pd.DataFrame(dic_v5) #测试代码4—将英文标题换成汉字 dic_v6 = {'confirm': 61,'heal': 195,'dead': 4} dic_v7 = {'confirm': "确诊",'heal': "治愈",'dead':"死亡"} dic_v8 = {} for dic_v6_key in dic_v6.keys(): dic_v8[dic_v7[dic_v6_key]] = dic_v6[dic_v6_key] dic_v8 #测试代码5—格式化输出 name = '沃尔德' age = 20 tel = '12345678910' print('我叫%s,年龄%d,电话是%s'%(name,age,tel)) print('我叫{},年龄{},电话是{}'.format(name,age,tel)) print('我叫{0},年龄{1},电话是{2}'.format(name,age,tel)) #测试代码6-查找数据 import pandas as pd file_name1 = open('美国_country_real_data.csv',encoding = 'utf-8') #用open命令按照utf-8格式打开 file_v1 = pd.read_csv(file_name1) #然后用pandas的命令读文件 file_v2 = file_v1.drop('Unnamed: 0',axis=1) #删除列, #方法1:用列名查找 file_v2[['名称','总计确诊']] file_v2.loc[:,['名称','总计确诊','总计治愈']] #查找总计治愈大于10000的省份信息 file_v2.loc[file_v2['总计治愈']>50000,['名称','总计确诊','总计治愈']] #测试代码7-处理与时间相关的数据 import pandas as pd file_name1 = open('china_hist_data.csv',encoding = 'utf-8') #用open命令按照utf-8格式打开 file_v1 = pd.read_csv(file_name1) #然后用pandas的命令读文件 file_v2 = file_v1.drop('Unnamed: 0',axis=1) #删除列, file_v2['时间']=pd.to_datetime(file_v2['时间']) #将字符格式的时间数据,转换为日期格式 file_v2.dtypes file_v4 = file_v2.iloc[:,[1,2,3,11,12,9,15]] #iloc与loc不同,iloc只能是数字,不能是列名等文本 file_v5 = file_v4.set_index('时间') #把时间作为索引 file_v5 file_v5.index = file_v5.index.month #分组聚合 file_v5.loc[:,['当天疑似','当天确诊']].groupby(file_v5.index).sum() #每月总计 #统计每天的当天确诊人数中的最大值,最小值,和值 file_v6 = file_v4.set_index('时间') #把时间作为索引 file_v6.index = file_v6.index.day #提取时间中的日作为索引 file_v6 #分组聚合 file_v6.loc[:,['当天疑似','当天确诊']].groupby(file_v6.index).agg(['sum','max','min']) #测试代码8—绘制折线图 import matplotlib.pyplot as plt #导入可视化库 plt.rcParams['font.sans-serif'] = 'SimHei' #设置字体 plt.rcParams['axes.unicode_minus'] = False #字符显示,更多详见 x = ['治愈','死亡','确诊'] y = [100,150,300] y1 = [500,200,800] fig = plt.figure(figsize=(8,6),dpi=80) #绘制画布,figsize宽和高,dpi分辨率,默认80 plt.title('疫情数据') plt.xlabel('类型') #设置横坐标变量 plt.ylabel('人数') #设置纵坐标变量 plt.ylim(0,1000) #表示x,y轴的取值范围,括号内为元组 plt.yticks(range(100,1000,100)) #表示x,y轴的刻度,括号内为序列 plt.legend(['2月12日','2月13日']) plt.plot(x,y,'r--', x,y1,'b:') #绘制折线图 或者分两个也行 plt.plot(x,y1,color=‘blue’,linestyle = '--'等) #绘制折线图 # plt.scatter(x,y,marker = '^') #绘制散点图 #将数据点绘制到折线上 for i in range(len(x)): plt.annotate(xy = (i,y[i]+5),s=y[i]) #s:注释文本的内容 xy:被注释的坐标点,二维元组形如(x,y) plt.annotate(xy = (i,y1[i]+5),s=y1[i]) plt.show() #显示图形 #测试代码9 import pandas as pd city_code = {'Beijing':'010','Tianjian':'022','Guangzhou':'020','Dalian':'0411','Shanghai':'021','Changchun':'0431'} city_se = pd.Series(city_code) city_se
最新回复(0)