Python自动化办公从入门到精通 pdf,Python自动化办公-3分钟完成一天工作

  Python自动化办公从入门到精通 pdf,Python自动化办公:3分钟完成一天工作

  Python办公自动化-熊猫玩Excel【1】Python处理Excel实现办公自动化教学(含实战)【1】Python处理Excel实现办公自动化教学(含实战)_汀姬的技术博客_博客

  Python办公自动化——熊猫玩Excel【1】Python处理Excel实现办公自动化教学(含实战)【1】Python处理Excel实现办公自动化教学(含实战)

  相关文章:

  处理python Excel实现自动化办公教学(包括实战)[1]

  处理python Excel实现自动化办公教学(含实战)[二]

  处理python Excel实现自动化办公教学(数据筛选、公式运算、单元格拆分合并、窗口冻结、图表绘制等。) [3]

  python入门后需要掌握的知识点(模块化编程,时间模块[1]

  python入门后需要掌握的知识点(excel文件处理和邮件发送实战:批量工资单)[2]

  1.基础历史【熊猫】1.1创建文件导入熊猫为pd

  df=pd。数据帧()

  您可以指定路径

  # df . to _ excel( H:\ \ Anaconda \ \ 001 . xlsx )

  df=pd。DataFrame({id:[1,2,3], name:[a , b , c]})

  df.to_excel(001-data.xlsx )

  df=pd。DataFrame({id:[1,2,3], name:[a , b , c]})

  df=df.set_index(id )

  df . to _ excel( 001-data-index . xlsx )

  第一张图片的索引默认在A列,ID被set_index设置为索引。

  1.2读取excel中的数据

  脏数据处理:错误数据或第一行没有数据。

  进口熊猫作为pd

  people=PD . read _ excel( people 001 . xlsx )

  打印(people.shape)

  打印(人员.列)

  #默认情况下打印3行

  print(people.head())

  print(people.head(3))

  默认情况下打印# 5行

  print(people.tail())

  #脏数据处理:第一行数据错误,或者没有数据。

  #如果有一个空行,它将被自动识别并跳过以获得列名。

  people=PD . read _ excel( people 002 . xlsx ,header=1)

  打印(人员.列)

  #脏数据处理:第一行没有列名,添加列名。

  people=PD . read _ excel( people 003 . xlsx ,header=None)

  people.columns=[ID , Type , Title , FirstName , MiddleName , LastName]

  people=people.set_index(ID ,inplace=True)

  People.to_excel(output.xlsx ),其中列名与列中的索引相区分,

  people=people.set_index(ID ,inplace=True)

  #设置索引后,

  打印(人员.列)

  #显示

  Type , title , firstname , middlename , lastname 将被再次读取:id仍将被视为列。

  这时候就需要在阅读的时候设置索引了。

  进口熊猫作为pd

  people=PD . read _ excel( people 001 . xlsx ,index_col=ID)1.3生成列、行和单元格(系列)系列类似于python中的字典。以下是创建它的几种方法:

  进口熊猫作为pd

  d={

  x:100,

  y:200,

  z:300,

  }

  print(d.values())

  打印(d.keys())

  s1=pd。系列(d)

  打印(s1.index)

  L1=[100,200,300]

  L2=[x , y , z]

  s2=pd。系列(L1,指数=L2)

  打印(s2.index)

  s3=pd。Series([100,200,300],index=[x , y , z])

  Print(s3.index)创建一个简单的列表:以不同的形式添加行和列。

  索引是默认的对齐方法。不一样的话就填南。

  1.4自动填充功能【数据区读取填充数字】1.4.1原始数据的数字填充:只使用名称(书名)填充数据。

  数据区未冻结,无法自动识别。

  进口熊猫作为pd

  books=PD . read _ excel( books . xlsx ,skiprows=4,usecols=C:F ,index_col=None)

  #usecols=C,D,E,F ,然后填充后设置index_col。

  印刷品(书籍)

  #NaN填充的数据类型是float64。

  进口熊猫作为pd

  books=PD . read _ excel( books . xlsx ,skiprows=4,usecols=C:F ,index_col=None)

  对于书籍中的i in:

  书籍。at[i]=i 1

  印刷品(书籍)

  要显示为整数,首先将类型设置为str。

  进口熊猫作为pd

  books=PD . read _ excel( books . xlsx ,skiprows=4,usecols=C:F ,index_col=None,dtype={ID:str, InStore:str, Date:str})

  对于书籍中的i in:

  书籍。at[i]=i 1

  印刷品(书籍)

  进口熊猫作为pd

  books=PD . read _ excel( books . xlsx ,skiprows=4,usecols=C:F ,index_col=None,dtype={ID:str, InStore:str, Date:str})

  对于书籍中的i in:

  书籍。at[i]=i 1

  书籍。at[i]=是如果i%2==0否则否

  印刷品(书籍)

  进口熊猫作为pd

  从日期时间导入日期,时间增量

  书籍=PD。read _ excel(书籍。xlsx ,skiprows=4,usecols=C:F ,index_col=None,dtype={ID:str, InStore:str, Date:str})

  开始=日期(2018,1,1)

  对于书籍中的我在:

  书籍在[i]=i 1处

  书籍. at[i]=是如果i%2==0否则否

  书籍[日期]。at[I]=开始时间增量(天数=i) #没有年月年月;时分秒有

  #books[Date].在[I]=日期(开始。年我,开始。月,开始。日)

  印刷品(书籍)

  月份相加需要计算一下,定义个子函数

  进口熊猫作为螺纹中径

  从日期时间导入日期,时间增量

  def add_month[d,MD]:

  yd=md/12

  钔

  如果m!=12:

  yd=m/12

  m=m

  返回日期(日,年,月,日)

  书籍=PD。read _ excel(书籍。xlsx ,skiprows=4,usecols=C:F ,index_col=None,dtype={ID:str, InStore:str, Date:str})

  开始=日期(2018,1,1)

  对于书籍中的我在:

  书籍在[i]=i 1处

  书籍. at[i]=是如果i%2==0否则否

  书籍[日期]。at[I]=开始时间增量(天数=i) #没有年月年月;时分秒有

  #books[Date].在[I]=日期(开始。年我,开始。月,开始。日)

  #books[Date].at[i]=add_month(start,I)

  #打印(书籍)

  books.set_index(ID ,inplace=True)

  books.to_excel(output/xlsx )

  还有一种写法不改系列直接改单元格写法如下:

  对于书籍中的我在:

  booksat[i, ID]]=i 1

  books.at[i, InStroe]=yes 如果i%2==0否则为没有

  books.at[i, Date ]=开始时间delta(天数=i) #没有年月年月;时分秒有

  #books[Date].在[I]=日期(开始。年我,开始。月,开始。日)

  #books[Date].at[i]=add_month(start,I)

  #印刷(书籍)1.4.2计算填充(列操作)

  列相乘,操作符重载【不用循环计算更方便】

  循环:【不从头到尾计算,部分区域计算采用单元格计算】

  价格加2使用应用

  :

  1.5 排序,多重排序

  上升的默认从小到大排序:【真的从大到小错误的从小到大】

  1.6数据筛选、过滤

  找出年龄【18,30】分数【60,90】之间的

  进口熊猫作为螺纹中径

  def validate_age(a):

  返回18=a=30 #熊猫特有写法

  定义级别_b:

  返回60=90

  学生=PD。read _ excel(学生。xlsx ,index_col=ID)#id作为指数

  学生=学生。loc[学生[年龄]。应用(验证年龄)].loc学生Score.apply(level_b)] #两

  种语法

  学生=学生。loc[学生Age.apply(validate_age)].loc学生Score.apply(level_b)] #两

  种语法

  打印(学生)

  通信线路(通信线路)与无线连接功能介绍:数据切片。通过索引来提取数据集中相应的行数据或者列数据(可以是多行或者多列)总结不同:

  1.通信线路(通信线路)函数通过调用指数名称的具体值来取数据

  2.无线连接函数通过行序号来取数据

  3.取多行数据时无线连接不包含末尾

  4.对数据进行筛选使用通信线路(通信线路)函数,当使用通信线路(通信线路)函数时,如果指数不具有特定意义,而且重复,那么提取的数据需要进一步处理,可用。重置索引()函数重置指数相同:

  5.【】中无逗号时,默认取行

  筛选出来的结果:

  姓名年龄分数

  身份

  四学生_004 27 73

  8学生_008 21 61

  9学生_009 18 85

  19学生_019 19 86换一种写法:

  进口熊猫作为螺纹中径

  # def validate_age(a):

  # return 18=a=30

  #定义级别_b:

  #返回60=90

  学生=pd.read_excel(学生。xlsx ,index_col=ID )

  学生=学生。loc[学生[年龄]。应用(

  a:18=a=30)].loc学生Score.apply(lambda s:60=s 90)] #两种语法

  打印(学生)

  2.数据可视化2.1 柱状图田

  数字

  农业

  12,318

  商业和管理

  200,312

  教育

  19,483

  工程

  216,932

  美术和应用艺术

  59,736

  健康职业

  33,947

  人文学科

  17,664

  数学和计算机科学

  141,651

  其他/未指明的主题领域

  185,107

  物理和生命科学

  75,385

  社会科学

  81,304

  进口熊猫作为螺纹中径

  将matplotlib.pyplot作为血小板计数导入

  学生=pd.read_excel(学生1 . xlsx’)

  学生。sort _ values(by= Number ,inplace=True,ascending=False)

  学生指数=范围(0,len(学生))

  打印(学生)

  工厂酒吧(学生[字段],学生[Number],color=orange ,width=0.7)#

  plt.xticks(学生[Field],rotation= 90 )#旋转旋转

  plt.title(按领域划分的国际学生,fontsize=16)

  plt.xlabel(字段)

  plt.ylabel(数字)

  plt.tight_layout() #j紧凑型,避免下标显示不全

  plt.show()

  熊猫中原地参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改

  inplace=True:不创建新的对象,直接对原始对象进行修改;

  inplace=False:对数据进行修改,创建并返回新的对象承载其修改结果。

  默认是假的,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似。

  或者直接用熊猫自带的:

  进口熊猫作为螺纹中径

  将matplotlib.pyplot作为血小板计数导入

  学生=PD。read _ excel( C:/Temp/students。xlsx’)

  students.sort_values(Number ,inplace=True,ascending=False)

  打印(学生)

  students.plot.bar(x=Field ,y=Number ,color=blue ,title=按字段划分的国际学生)

  plt.tight_layout()

  plt.show()

  2.2分组柱图深度优化(比较图)字段

  2016

  2017

  农业

  12,318

  12,602

  商业和管理

  200,312

  200,754

  通信和新闻

  21,160

  21,913

  教育

  19,483

  17,993

  工程

  216,932

  230,711

  美术和应用艺术

  59,736

  61,506

  人文学科

  17,664

  17,561

  强化英语

  40,877

  30,309

  法律研究和执法

  15,077

  15,306

  数学和计算机科学

  141,651

  167,180

  物理和生命科学

  75,385

  76,838

  社会科学

  81,304

  83,046

  其他研究领域

  81,318

  87,577

  未申报的

  26,675

  21,131

  将数组作为铭牌导入

  进口熊猫作为螺纹中径

  将matplotlib.pyplot作为血小板计数导入

  学生=pd.read_excel(学生2 . xlsx’)

  students.sort_values(by=2017 ,inplace=True,ascending=False)

  打印(学生)

  students.plot.bar(Field ,[2016 , 2017],color=[orange , Red])

  plt.title(按领域划分的国际学生,fontsize=16,fontweight=bold )

  plt.xlabel(Field ,fontweight=bold )

  plt.ylabel(Number ,fontweight=bold )

  plt.tight_layout()

  ax=plt.gca() #坐标轴移动修改

  斧头。set _ xticklabels(students[ Field ],rotation=40,ha=right) #默认中心旋转

  plt.gcf().支线剧情_adjust(左=0.2,下=0.42) #画布大小调整

  plt.show()

  推荐第一个

  将数组作为铭牌导入

  进口熊猫作为螺纹中径

  将matplotlib.pyplot作为血小板计数导入

  学生=pd.read_excel(学生2 . xlsx’)

  students.sort_values(by=2017 ,inplace=True,ascending=False)

  学生指数=范围(0,len(学生))

  打印(学生)

  条形宽度=0.7

  x _ pos=NP。arange(len(学生)* 2,step=2)

  plt.bar(x_pos,学生[2016],color=绿色,width=bar_width)

  plt.bar(x_pos bar_width,学生[2017],color=蓝色,width=bar_width)

  plt。图例()

  plt.xticks(x_pos bar_width/2,students[Field],rotation=90 )

  plt.title(按领域划分的国际学生,fontsize=16)

  plt.xlabel(字段)

  plt.ylabel(数字)

  plt.tight_layout()

  plt.show()

  2.3 叠加柱状图

  用户总量从大到小排序:

  进口熊猫作为螺纹中径

  将matplotlib.pyplot作为血小板计数导入

  用户=PD。read _ excel(用户。xlsx’)

  用户[总计]=用户[十月]用户[十一月]用户[十二月]

  users.sort_values(by=Total ,inplace=True,ascending=False)

  打印(用户)

  users.plot.bar(x=Name ,y=[Oct , Nov , Dec],stacked=True)

  # users.plot.barh(x=Name ,y=[Oct , Nov , Dec],stacked=True)#水平柱状图堆积

  plt.tight_layout()

  plt.show()

  users.sort_values(by=Total ,inplace=True,ascending=Ture)

  users.plot.barh(x=Name ,y=[Oct , Nov , Dec],stacked=True)#水平柱状图堆积

  2.4 饼图

  其中2016 2017是字符串,避免熊猫误认为数字。

  进口熊猫作为螺纹中径

  将matplotlib.pyplot作为血小板计数导入

  学生=pd.read_excel(学生3.xlsx ,index_col=From )

  打印(学生)

  #反锁顺逆时针,起始角度开始点确认

  学生[ 2017 ]。剧情。饼图(字体大小=8,逆时针=假,起始角度=-270)

  plt.title(国际学生来源,fontsize=16,fontweight=bold )

  plt.ylabel(2017 ,fontsize=12,fontweight=bold )

  plt.show()

  2.5折现趋势图,叠加区域图

  进口熊猫作为螺纹中径

  将matplotlib.pyplot作为血小板计数导入

  周=PD。read _ excel(订单。xlsx ,index_col=Week )

  打印(周)

  weeks.plot(y=[附件,自行车,服装,组件])

  几周。剧情。area(y=[附件,自行车,服装,组件])

  plt.title(销售趋势,fontsize=16,fontweight=bold )

  plt.xticks(weeks.index,fontsize=8)

  plt.show()

  2.6 散点图直方图密度图

  进口熊猫作为螺纹中径

  将matplotlib.pyplot作为血小板计数导入

  警察。选项。展示。max _ columns=999 #所有列都会显示

  家园=警察局。read _ excel( home _ data。xlsx’)

  # print(homes.head())

  print(homes.corr())#相关性

  家园。剧情。散点图(x= sqft _ living ,y=price )

  图表()

  homes.sqft_living.plot.kde() #密度图

  图表()

  家园。sqft _生活。剧情。hist(bin=100)#区间设置

  plt.xticks(range(0,max(homes.sqft_living),500),fontsize=8,rotation=90) #面积

  #家。价格。剧情。历史(bin=200)

  # plt.xticks(range(0,max(homes.price),100000),fontsize=8,rotation=90) #房价

  plt.show()

  密度图:

  相关性:更正()

  编号价格卧室浴室sqft _ live \

  身份证1.000000-0.016762 0.001286 0.005160-0.012258

  价格-0.016762 1.000000 0.308350 0.52538 0.702035

  卧室0.001286 0.308350 1.0000000005 0.51555501

  浴室

  生活-0.012258 0.702035 0.576671 0.754665 1.000000

  sqft _ basement-0.005151 0.323816 0.303093 0.28370 0.435043

  sqft _ lot-0.132109 0.089661 0.031703 0.08740 0.172826

  楼层0.018525 0.256794 0.175429 0.500053536

  yr _ build 0.021380 0.054012 0.154178 0.50619 0.318049

  平方英尺_地下室平方英尺_地段楼层建造年份

  id-0.005151-0.132109 0.018525 0.021380

  价格0.323816 0.089661 0.2564 0.0545545412

  卧室0.303093 0.031703 0.1536363631

  浴室0.283770 0.087740 0.5000050656

  sqft _生活

  平方英尺_地下室1.000000 0.015286-0.24505-0.133124

  sqft _ lot 0.015286 1.000000-0.005201 0.053080

  楼层-0.245705-0.005201 1.0000000 0.48933341

  yr _ build-0.133124 0.053080 0.489319 1.000000

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

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