小杰python高级(six day)——pandas库

1.数据可视化

用于绘制 DataFrame 数据图形,它允许用户直接从 DataFrame 创建各种类型的图表,而不需要使用其他绘图库(底层实际上使用了 Matplotlib)。

(1)plot

DataFrame.plot(*args, **kwargs)

功能:绘制各种线图

参数:kind: 图表类型,可以是以下之一:

'line': 折线图(默认)

'bar': 柱状图

'barh': 水平柱状图

'hist': 直方图

'box': 箱线图

'kde': 核密度估计图

'area': 面积图

'pie': 饼图

'scatter': 散点图

'hexbin': 六边形箱图

x:指定X轴数据(列名或索引)

y:指定y轴数据(列名或列名列表)

ax: Matplotlib 子图对象

subplots:是否绘制子图,True绘制子图

figsize: 图表的尺寸,格式为 `(width, height)`,单位为英寸。

use_index: 是否使用 pandas 的索引作为 x 轴标签。默认为 `True`。

title: 图表的标题。

grid: 是否显示网格线。默认为 `False`。

legend: 是否显示图例。默认为 `True`。

xticks: x 轴的刻度位置。

yticks: y 轴的刻度位置。

xlim: x 轴的范围,格式为 `(min, max)`。

ylim: y 轴的范围,格式为 `(min, max)`。

color: 绘制颜色,可以是单个颜色或颜色列表。

label: 图例标签。

python 复制代码
data = {'name':['zhangsan','lisi','wangwu', 'json'],
        'age':[12, 14, 20, 14],
        'height':[30, 14, 20, 14]}
df = pd.DataFrame(data)
print(df)

# 绘制柱状图
# 将df的name作为x轴标签,只绘制age数据
df.plot(kind='bar', x='name', y='age')
plt.show()

2.文件的读写

复制代码
pandas.read_csv(filepath, sep=',', header='infer', usecols=None,...)功能:读取csv类型的文件`
`参数:filepath:读取的文件名`
`      sep:字段分隔符,默认为逗号`
`      header:指定第一行作为列名,默认为0(第一行)`
`      usecols:返回一个数据子集,需要读取的列`
      
`pandas.read_excel(filepath, sheet_name=0, header=0, usecols=None, ...)功能:读取execl类型文件`
`参数:sheet_name:工作表名称或索引,默认为0(第一个工作表)`
`      其他同上`

`DataFrame.to_csv(path=None, sep=',', columns=None, index=True,  ...)功能:将DataFrame写入csv类型的文件`
`参数:columns:要写入的列名列表`
      `index:是否写行(索引)名称。默认为True。`
      
`DataFrame.to_excel(excel_writer, sheet_name='Sheet1',  ...)功能:将DataFrame写入excel类型的文件`
`参数:同上`
`
python 复制代码
# 读csv文件
# df = pd.read_csv('./learn_pandas.csv', usecols=['School','Height'])
# print(df)
# 读excel文件
df = pd.read_excel('./item.xlsx', usecols=['order-info','order-info 2'])
print(df)
# 写excel文件
df.to_excel('test.xlsx')

3.爬虫工具

1.简介

Instant Data Scraper插件是一款功能强大的数据抓取工具,主要用于从网页上自动提取数据。

Instant Data Scraper插件能够自动检测并提取网页上的数据,包括但不限于产品信息、评论、价格等,这些数据可以被导出为Excel或CSV文件,方便用户进行进一步的分析和处理。此外,该插件还支持动态数据检测,能够确保提取的数据是最新的。

2.使用步骤
1.安装插件
  1. 使用谷歌浏览器安装插件

在线访问可能访问不了,使用本地插件进行加载。

2.打开右上角

​​​​​​​3.下载群里的,把插件的扩展名改为rar,把文件夹解压缩。

4.回到Chrome浏览器中,点击下图,在弹出的窗口中选择刚才解压后的文件夹。

5.找到这个图标,将精灵球固定在任务栏

​​​​​​​2.数据爬取

打开任意要爬取的网址

点击告诉爬虫程序翻页键在哪里,再次点击

点击开始爬取,点击下载爬取数据。

点击可以停止爬取。

4.三个库的总结

(1)numpy库

  • 创建:ndarray = array

empty、zeros、ones、full、fill

arange、linspace、random(rand、random、randint、randn、normal、uniform、shuffle)

  • 访问:下标、切片
  • numpy数据类型:基本数据类型i4 S10、结构化数据类型[(键名,类型),()]
  • 属性:ndim、shape、size、dtype

修改属性:astype类型、reshape形状、np.resize/arr.resize、flatten、T

  • 运算:

算术运算:+ - * / **0.5 add\subtract/multiply/divide/powrer

广播机制:

矩阵运算:@ dot

逻辑运算:& | ~

关系运算:==

统计运算:sum、mean、max、min(argmax、argmin)、cumsum、cumprod、var、std

数学函数:sin/cos/tan、exp/exp2、log/log2

排序:sort()[::-1]

  • 数组操作

添加删除:append/insert/delete

修改数组维度:expand_dims升维、squeeze降维

数组连接:concatenate、stack

数组分割:split

where函数:根据条件筛选数据

(2)matplotlib库

pyplot:绘图函数:plot、bar/barh、scatter、pie、hist、contour

设置属性:title、xlabel、ylabel、legend、subplot、tight_layout、subplots

操作函数:savefig、imread、imshow、imsave、close、pause

Line2D对象:set_data\get_label

Figure对象:创建:隐式、显示(figure())

操作:add_subplot\suptitle\add_axes\subplots_adjust\get_size_inches\clear

Axes对象:获取对象:plt.gca plt.gcf

操作:set_xlim/set_ylim、set_xlabel/set_ylabel、set_title、text

GridSpec对象:绘制子图网格 GridSpec

(3)pandas库

  • 数据结构

Series:创建、访问(位置、标签、切片、函数get/head/tail/isin)、属性(value\index\dtype\shape\size\name\hasnans\is_unique\empty\axes)

DataFrame:创建、访问([列]、loc、iloc)、属性(index/columns/values/dtypes/ndim/T)

  • 数据操作

数据清洗:dropna/fillna/isnull/drop_duplicates

数据转换:replace、transform

数据排序:sort_values、sort_index

数据筛选:根据关系运算结果或布尔数组进行筛选

数据拼接:concat

统计运算:sum、mean、count、max、min、var、std、quantile、describe、value_counts

分组聚合:gropby、agg

数据可视化:plot

文件读写:read_csv/read_excel/to_csv/to_excel​​​​​​​