强烈推荐一款Python可视化神器!强烈必备!

强烈推荐一款Python可视化神器!强烈必备!,第1张

features()函数用法,map(function, iterable)

参数:map 可以接受两个参数,第一个是函数,第二个是可迭代对象

作用:将可迭代对象的每一个元素放在 function 中进行处理

返回:map 返回的是一个 map 对象,这是一个可迭代对象

几周前,R语言社区经历了一场关于画图工具的讨论。对于我们这种外人来说,具体的细节并不重要,但是我们可以将一些有用的观点运用到 Python 中。讨论的重点是 R 语言自带的绘图工具 base R 和 Hadley Wickham 开发的绘图工具 ggplot2 之间的优劣情况。如果你想了解更多细节内容,请阅读以下几篇文章:

其中最重要的两个内容是:

不是所有人都认同第二个观点,ggplot2确实无法绘制出所有的图表类型,但是我会利用它来做分析。

以下是 2016 年 4 月写的关于绘图工具的概述。出于多方面的原因,绘图工具的选取更多地取决于个人偏好,因此本文介绍的 Python 绘图工具也仅代表我的个人使用偏好。

Matplotlib 是一个强大的工具,它是 Pandas' builtin-plotting Seaborn 的基础。 Matplotlib 能够绘制许多不同的图形,还能调用多个级别的许多 API 。我发现 pyplot api 非常好用,你可能用不上 Transforms 或者 artists ,但是如果你有需求的话可以查阅帮助文档。我将从 pandas seaborn 图开始介绍,然后介绍如何调用 pyplot API

DataFrame Series 拥有 plot 的命名空间,其中有许多图形类别可供选择(line, hist, scatter, 等等)。 Pandas 对象还提供了额外的用于增强图形展现效果的数据,如索引变量。

由于 pandas 具有更少的向后兼容的限制,所以它具有更好的美学特性。从这方面来说,我认为 pandas 中的 DataFrameplot 是一个非常实用的快速探索性分析的工具。

Michael Waskom 所开发的 Seaborn 提供了一个高层次的界面来绘制更吸引人统计图形。 Seaborn 提供了一个可以快速探索分析数据不同特征的 API 接口,接下来我们将重点介绍它。

Bokeh 是一款针对浏览器开发的可视化工具。

matplotlib 一样,Bokeh

拥有一系列 API 接口。比如 glpyhs 接口,该接口和 matplotllib 中的 Artists 接口非常相似,它主要用于绘制环形图、方形图和多边形图等。最近 Bokeh 又开放了一个新的图形接口,该接口主要用于处理词典数据或 DataFrame 数据,并用于绘制罐头图。

以下是一些本文没有提到的可视化工具:

我们将利用 ggplot2 中的 diamonds 数据集,你可以在 Vincent Arelbundock's RDatasets 中找到它(pdread_csv(' >

Python对于Excel的 *** 作是多种多样的,掌握了相关用法就可以随心所欲的 *** 作数据了!

*** 作xls文件

xlrd(读 *** 作):

import xlrd

1、引入xlrd模块

workbook=xlrdopen_workbook("36xls")

2、打开[36xls]文件,获取excel文件的workbook(工作簿)对象

names=workbooksheet_names()

3、获取所有sheet的名字

worksheet=workbooksheet_by_index(0)

4、通过sheet索引获得sheet对象

worksheet为excel表第一个sheet表的实例化对象

worksheet=workbooksheet_by_name("各省市")

5、通过sheet名获得sheet对象

worksheet为excel表sheet名为各省市的实例化对象

nrows=worksheetnrows

6、获取该表的总行数

ncols=worksheetncols

7、获取该表的总列数

row_data=worksheetrow_values(n)

8、获取该表第n行的内容

col_data=worksheetcol_values(n)

9、获取该表第n列的内容

cell_value=worksheetcell_value(i,j)

10、获取该表第i行第j列的单元格内容

xlwt(写 *** 作):

import xlwt

1、引入xlwt模块

book=xlwtWorkbook(encoding="utf-8")

2、创建一个Workbook对象,相当于创建了一个Excel文件

sheet = bookadd_sheet('test')

3、创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。

sheetwrite(i, j, '各省市')

4、向sheet表的第i行第j列,写入'各省市'

booksave('Data\\36xls')

5、保存为Data目录下36xls文件

*** 作xlsx文件

openpyxl(读 *** 作):

import openpyxl

1、引入openpyxl模块

workbook=openpyxlload_workbook("36xlsx")

2、打开[36xlsx]文件,获取excel文件的workbook(工作簿)对象

names=workbooksheetnames

worksheet=workbookworksheets[0]

worksheet=workbook["各省市"]

ws = workbookactive

6、获取当前活跃的worksheet,默认就是第一个worksheet

nrows=worksheetmax_row

7、获取该表的总行数

ncols=worksheetmax_column

8、获取该表的总列数

content_A1= worksheet['A1']value

9、获取该表A1单元格的内容

content_A1=worksheetcell(row=1,column=1)value

10、获取该表第1列第1列的内容

openpyxl(写 *** 作):

workbook=openpyxlWorkbook()worksheet = workbookactive

3、获取当前活跃的worksheet,默认就是第一个worksheet

worksheettitle="test"

4、worksheet的名称设置为"test"

worksheet = workbookcreate_sheet()

5、创建一个新的sheet表,默认插在工作簿末尾

worksheetcell(i,j,'空')

6、第i行第j列的值改成'空'

worksheet["B2"]="空"

7、将B2的值改成'空'

worksheetinsert_cols(1)

8、在第一列之前插入一列

worksheetappend(["新增","台湾省"])

9、添加行

workbooksave("Data\\36xlsx")

10、保存为Data目录下36xlsx文件

pandas处理excel文件

pandas *** 作:

import pandas as pd

1、引入pandas模块

data = pdread_excel('36xls')

2、读取[36xls]或者[36xlsx]文件

data = pdread_csv('36csv')

3、读取[36csv]文件

data=datadropna(subset=['店铺'])

4、过滤掉data店铺列有缺失的数据

datasort_values("客户网名", inplace=True)

5、将data数据按照客户网名列进行从小到大排序

data = pdread_csv(36csv, skiprows = [0,1,2],sep = None, skipfooter = 4)

6、读取[36csv]文件,前三行和后四行的数据略过

data = datafillna('空')

7、将data中的空白处填充成'空'

datadrop_duplicates('订单','first',inplace=True)

8、data中的数据,按照订单列做去重处理,保留第一条数据

data=pdDataFrame(data,columns=['订单','仓库'])

9、只保留data中订单仓库列的数据

data = data[(data[u'展现量'] > 0)]

10、只保留展现量列中大于0的数据

data= data[data["订单"]strcontains('000')]

11、只保留订单列中包含'000'的数据

data= data[data["仓库"]=='正品仓']

12、只保留仓库列是'正品仓'的数据

xs= data[data["店铺"]=='南极人']['销售额']

13、获取店铺是南极人的销售额数据

data['订单'] = data['订单']str[3:7]

14、订单列的值只保留4-8个字节的值

data["邮资"] = npwhere((data['店铺']strcontains('T|t')) & -(data['仓库'] == '代发仓'), 8, data['邮资'])

15、满足店铺列包含 T 或 t 并且仓库不等于'代发仓'的话,将邮资的值改成8,否则值不变

data = nparray(data)tolist()

16、将data从DataFrame转换成列表

data=pdDataFrame(data)

17、将列表转换成DataFrame格式

zhan = data[u'展现']sum()round(2)

18、将data中所有展现列数据求和,并取两位小数

sum=datagroupby(['店铺'])['刷单']sum()

19、将data中按照店铺对刷单进行求和

counts=data['店铺']value_counts()

20、将data按照店铺进行计算

avg=datagroupby(['店铺'])['刷单']mean()

21、将data按照店铺对刷单进行求平均数

count = pdconcat([counts,sum], axis=1, ignore_index=True, sort=True)

22、将counts和sum两个DataFrame进行了组合

count=countrename(index=str, columns={0: "订单", 1: "成本"})

23、将新生成的DataFrame列名进行修改

data = pdmerge(sum, counts, how='left', left_on='店铺', right_on='店铺')

24、将列表转换成DataFrame格式

from openpyxl import Workbook 

wb=Workbook()  

ws1=wbactive 

datato_excel('36xlsx') 

wbclose()

25、data完整的写入到关闭过程,执行此 *** 作的时候36xlsx不能是打开状态

excel格式 *** 作

样式处理:

1、打开36xlsx

sheet=workbookworksheets[0]

2、将第一个sheet对象赋值给sheet

sheetcolumn_dimensions['A']width = 200

3、将A列的宽度设置为20

sheetrow_dismensions[1]height = 200

4、将第一行的行高设置为20

sheetmerge_cells('A1:A2')

5、将sheet表A1和A2单元格合并

sheetunmerge_cells('A1:A2')

6、将sheet表A1和A2单元格取消合并

sheetinsert_rows(2,2)

7、将sheet表从第2行插入2行

sheetinsert_cols(3,2)

8、将sheet表从第3列插入2列

sheetdelete_rows(2)

9、删除第2行

sheetdelete_cols(3, 2)

10、将sheet表从第3列开始删除2列

from openpyxlstyles import Font, Border, PatternFill, colors, Alignment

11、分别引入字体、边框、图案填充、颜色、对齐方式

sheetcell(i,j)font = Font(name='Times New Roman', size=14, bold=True, color=colorsWHITE)

12、设置sheet表第 i 行第 j 列的字体

sheetcell(i,j)alignment = Alignment(horizontal='center', vertical='center')

13、设置sheet表第 i 行第 j 列的字体对齐方式

left, right, top, bottom = [Side(style='thin', color='000000')] 4sheetcell(i,j)border = Border(left=left, right=right, top=top, bottom=bottom)

14、引入边框样式并调用

fill = PatternFill("solid", fgColor="1874CD")sheetcell(1,j)fill = fill

15、引入填充样式,并调用

import xlrd

from openpyxl import Workbook

from openpyxl import load_workbook

workbook=load_workbook(filename='C:/Users/EDZ/Desktop/工作/20210803/大兄弟xlsx')

sheet=workbookactive

sheetinsert_cols(idx=1)

sheetmerge_cells(A1:A3)

sheet['A1']=['上海','山东','浙江']

大家好,我是Peter~

在很多情况下,我们都需要处理PDF格式的文件。尤其当我们遇到PDF表格数据需要进行提取,真的是一个令人头疼的问题。

因为PDF文件不能像Word那样直接复制,即使复制了再黏贴也可能会出现格式排版错乱甚至乱码问题。如何从一个PDF文件提取出表格数据?本文提供两个解决方案:

首先提供的一种方法是从文字 PDF 中提取表格信息的工具:Camelot,它能够直接将大部分表格转换为 Pandas 的 Dataframe。

更多的详细信息,请参考项目地址: >

以上就是关于强烈推荐一款Python可视化神器!强烈必备!全部的内容,包括:强烈推荐一款Python可视化神器!强烈必备!、pandas常用函数汇总、features()函数用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9272851.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存