当前位置: 首页 > news >正文

池州网站优化公司简洁大气网站设计

池州网站优化公司,简洁大气网站设计,茶网站建设方案,老牛wordpress百日筑基篇——Pandas学习三#xff08;pyhton入门八#xff09; 文章目录 前言一、数据排序二、字符串处理三、数据合并方法1. merge方法2. concat方法 四、分组数据统计五、数据重塑1. stack2. pivot 总结 前言 上一篇文章介绍了一下pandas库中的一些函数#xff0c;而本… 百日筑基篇——Pandas学习三pyhton入门八 文章目录 前言一、数据排序二、字符串处理三、数据合并方法1. merge方法2. concat方法 四、分组数据统计五、数据重塑1. stack2. pivot 总结 前言 上一篇文章介绍了一下pandas库中的一些函数而本章则继续介绍库中的函数在数据处理中的应用。 一、数据排序 运用sort_values方法 import pandas as pdpath rC:\Users\王浩天\Desktop\beijing_tianqi_2018.csv df pd.read_csv(path) df.loc[:, bWendu] df[bWendu].str.replace(℃, ).astype(int32) df.loc[:, yWendu] df[yWendu].str.replace(℃, ).astype(int32)print(df.head(4)) #Series的排序 print(df[bWendu].sort_values(ascendingTrue,inplaceFalse)) #DataFrame的排序 df1 df.sort_values(by[aqiLevel,bWendu],ascending[True,False],inplaceFalse) print(df1.head(6))ymd bWendu yWendu tianqi fengxiang fengli aqi aqiInfo aqiLevel 178 2018-06-28 35 24 多云~晴 北风 1-2级 33 优 1 149 2018-05-30 33 18 晴 西风 1-2级 46 优 1 206 2018-07-26 33 25 多云~雷阵雨 东北风 1-2级 40 优 1 158 2018-06-08 32 19 多云~雷阵雨 西南风 1-2级 43 优 1 205 2018-07-25 32 25 多云 北风 1-2级 28 优 1 226 2018-08-15 32 24 多云 东北风 3-4级 33 优 1 在数据框的排序中sort_values()函数的参数by用来指定根据排序的列名“ascending” 参数则填布尔值或由布尔值形成的列表用来指定是升序还是降序 且与by一一对应。 列如在上述代码中是先根据aqiLevel升序排序再在此基础上按bWendu来降序排序。 二、字符串处理 使用 .str方法获取Series的str属性以便在属性上调用所需函数。 #使用str的startswith 、contains 等得到bool的Series可以用来做条件查询 #例如提取出六月份的数据 condition df[ymd].str.startswith(2018-06) print(df.loc[condition,:])#多次str处理只展示月份 df1[ymd]df1[ymd].str.replace(-,).str[4:6] print(df1.head(3))ymd bWendu yWendu tianqi fengxiang fengli aqi aqiInfo aqiLevel 178 06 35 24 多云~晴 北风 1-2级 33 优 1 149 05 33 18 晴 西风 1-2级 46 优 1 206 07 33 25 多云~雷阵雨 东北风 1-2级 40 优 1#使用split对ymd进行拆分为列表 def func(df):year,month,day df[ymd].split(-)return f{year}年{month}月{day}日 df[日期] df.apply(func,axis1) print(df.head(3))ymd bWendu yWendu tianqi ... aqi aqiInfo aqiLevel 日期 0 2018-01-01 3 -6 晴~多云 ... 59 良 2 2018年01月01日 1 2018-01-02 2 -5 阴~多云 ... 49 优 1 2018年01月02日 2 2018-01-03 2 -5 多云 ... 28 优 1 2018年01月03日#若要将年月日去掉可使用正则表达式 df[日期]df[日期].str.replace([年月日],,regex True) print(df.head(2))三、数据合并方法 1. merge方法 根据一列或多列的值将两个DataFrame对象按行或列合并到一起 import pandas as pddf1 pd.DataFrame({学号: [A0, A1, A2, A3],姓名: [B0, B1, B2, B3],学生: [K0, K1, K2, K3]})df2 pd.DataFrame({成绩: [C0, C1, C2, C3],导师: [D0, D1, D2, D3],学生: [K0, K1, K2, K3]})print(df1) print(df2) df_merge pd.merge(df1,df2,on学生) print(df_merge)学号 姓名 学生 成绩 导师 0 A0 B0 K0 C0 D0 1 A1 B1 K1 C1 D1 2 A2 B2 K2 C2 D2 3 A3 B3 K3 C3 D3 笔记如下 2. concat方法 用于按行或列将多个DataFrame对象连接到一起。它可以用于沿着行或列轴将DataFrame对象堆叠在一起 import pandas as pddf1 pd.read_csv(rD:\python\PycharmProjects\pythonProject1\pachou\result_dir\yaxibao0.csv,encodingutf-8) df2 pd.read_csv(rD:\python\PycharmProjects\pythonProject1\pachou\result_dir\yaxibao1.csv,encodingutf-8) df1 pd.DataFrame(df1) df2 pd.DataFrame(df2) #print(df1) #print(df2) DF pd.concat([df1,df2],axis0) #默认按行合并 print(DF)AA_ID yaxibao 0 LaggChr1G00000010.1 chlo 1 LaggChr1G00000020.1 cyto 2 LaggChr1G00000030.1 nucl 3 LaggChr1G00000040.1 nucl 4 LaggChr1G00000050.1 mito .. ... ... 533 LaggChr1G00010360.1 nucl 534 LaggChr1G00010370.1 cyto 535 LaggChr1G00010380.1 cyto 536 LaggChr1G00010390.1 chlo 537 LaggChr1G00010400.1 plas[1040 rows x 2 columns] 笔记如下 四、分组数据统计 主要运用groupby方法通常与agg()方法联用。也可以自定义方法并使用apply应用于数据框 import numpy as np df[ymd] df[ymd].str[:7] print(df.head(3)ymd bWendu yWendu tianqi fengxiang fengli aqi aqiInfo aqiLevel 0 2018-01 3 -6 晴~多云 东北风 1-2级 59 良 2 1 2018-01 2 -5 阴~多云 东北风 1-2级 49 优 1 2 2018-01 2 -5 多云 北风 1-2级 28 优 1#可传入多个分组依据列as_indexFalse ,表示不使分组列变为索引后面的agg函数传入字典可对不同的列使用指定的聚合方法 print(df.groupby([fengxiang,ymd],as_indexFalse).agg({bWendu:np.max,yWendu: np.min,aqi: np.mean}))fengxiang ymd bWendu yWendu aqi 0 东北风 2018-01 3 -11 45.200000 1 东北风 2018-02 10 -4 45.000000 2 东北风 2018-03 15 -4 141.666667 3 东北风 2018-04 19 1 56.200000 4 东北风 2018-05 25 13 121.000000 .. ... ... ... ... ... 68 西南风 2018-12 2 -8 78.000000 69 西风 2018-02 8 -4 78.000000 70 西风 2018-05 33 10 74.500000 71 西风 2018-07 27 23 28.000000 72 西风 2018-10 21 7 77.000000df4 df[[ymd,bWendu,yWendu,aqi,aqiLevel]] print(df4.groupby(ymd).agg([np.sum,np.mean,np.std])) print(df4.groupby(ymd).agg({bWendu:np.max,yWendu: np.min,aqi: np.mean}))#使用自定义方法 def guiyihua(df):df[bWendu_new] df[bWendu].apply(lambda x: (x - df[bWendu].min())/ (df[bWendu].max() - df[bWendu].min()))return df print(df.groupby(ymd).apply(guiyihua)) 五、数据重塑 这里是引用 1. stack stack函数用于将数据框的列转换为行从而生成一个新的数据框 它会将数据框的列标签转换为新的索引层级并将对应的值放入新的列中。这个过程被称为堆叠。 unstack是与stack相反的操作用于将行索引转换为列。 #print(df.dtypes) df[ymd] pd.to_datetime(df[ymd]) #print(df.dtypes) #根据月份分组 df_group df.groupby([df[ymd].dt.month,fengxiang])[bWendu].agg(pv np.max) print(df_group)pv ymd fengxiang 1 东北风 3东南风 2东风 3北风 2南风 7 ... .. 11 西南风 14 12 东北风 9东南风 7西北风 10西南风 2[73 rows x 1 columns]#将行索引转化为列 df_stack df_group.unstack() print(df_stack)pv fengxiang 东北风 东南风 东风 北风 南风 西北风 西南风 西风 ymd 1 3.0 2.0 3.0 2.0 7.0 6.0 5.0 NaN 2 10.0 NaN 7.0 6.0 8.0 5.0 12.0 8.0 3 15.0 14.0 25.0 18.0 27.0 NaN 25.0 NaN 4 19.0 26.0 NaN 26.0 30.0 26.0 27.0 NaN 5 25.0 28.0 29.0 25.0 35.0 31.0 32.0 33.0 6 37.0 37.0 36.0 35.0 37.0 NaN 38.0 NaN 7 33.0 37.0 32.0 32.0 35.0 NaN 35.0 27.0 8 32.0 35.0 35.0 32.0 36.0 NaN 28.0 NaN 9 NaN NaN NaN 30.0 29.0 27.0 31.0 NaN 10 17.0 NaN NaN 25.0 25.0 24.0 19.0 21.0 11 8.0 13.0 NaN 15.0 18.0 11.0 14.0 NaN 12 9.0 7.0 NaN NaN NaN 10.0 2.0 NaN#将列索引转换为行 ymd fengxiang 1 东北风 pv 3东南风 pv 2东风 pv 3北风 pv 2南风 pv 7.. 11 西南风 pv 14 12 东北风 pv 9东南风 pv 7西北风 pv 10西南风 pv 2 Length: 73, dtype: int32 2. pivot pivot函数会重新安排数据框的行和列使之对应于新的行和列标签。这个过程被称为旋转 import pandas as pd# 创建一个简单的数据框 data {Name: [wht, xingshi],Subject: Maths,Score: [90, 85]} df pd.DataFrame(data) print(df)Name Subject Score 0 wht Maths 90 1 xingshi Maths 85# 使用pivot函数进行数据重塑 pivoted_df df.pivot(indexName, columnsSubject, valuesScore)# 打印重塑后的数据框 print(pivoted_df) Subject Maths Name wht 90 xingshi 85总结 本章主要总结了有关pandas库中的一些函数有排序函数sort_values; 数据合并函数merge、concat分组统计函数groupby;以及数据重塑函数stack、pivot。 子非鱼安知鱼之乐 –2023-8-14 筑基篇
http://www.hkea.cn/news/14334111/

相关文章:

  • 网站登记备案查询济南 域名注册 网站建设
  • 郑州专做喜宴的网站电脑仓库管理软件
  • 廊坊网站优化网站改版灵感库
  • 自己开网站需要什么注册公司
  • 合肥网站建站工作室网站建设合同书下载
  • 站长源码之家网站长尾关键词优化
  • 中国住房城乡建设厅网站潍坊网站建设技术外包
  • 网站加视频如果用别人公司信息做网站
  • 网站忘记备案长沙事业单位招聘信息网
  • 分类目录网站大全商丘网站建设aliapp
  • 网站适配手机屏幕免费建立网站软件
  • 济南网站推广服务怎么做网站接家纺订单
  • 淄博网站排名seo有哪些做外贸的网站
  • 个旧网站建设公司哈尔滨百度推广代理
  • 北京网站建设培训学校高新门户网站专题建设
  • html5商城网站源码php教育网站开发
  • 企业英语网站如何制作自己的网站模版
  • 网站开发都用什么数据库百度爱采购关键词优化
  • 免费信息网站建设平台重庆医院门户网站建设
  • 重庆有哪些网络公司手机网站优化 工具
  • 网络营销过程步骤网站关键词免费优化
  • 网站的建设怎么弄网站案例展示
  • myeclipse网站开发seo优化总结
  • 怎么做淘宝客网站页面深圳网站开发制作
  • 东营网站建设哪家专业做推广能提高网站权重么
  • 查询单位信息的网站建设网站网站建设公司
  • 刚刚大连发布紧急通知排名优化公司好不好
  • 怎么做拍卖网站高级网络技术工程师
  • 创建网站公司好深圳龙华 网站建设
  • 网站备案号规则平面设计实例网站