以下是搜索内容: 关闭

  • 首页
  • 日志
  • 友情链接
  • 关于我

KoiNL.

愿世间美好 温柔以待

“锦鲤握运,未离我韵”

“愿好运常在”

18 分类
0 标签
16 归档
  • 小站首页
  • 个人日志
  • 友情链接
  • 关于自己
  • 我的工具
站点信息

文章数目: 84 篇

最近动态: 2天前

上线时间: 531天

当前版本: v3.0.0

第二章 数据分析(Pandas)

分类: Data-Processing-and-Analysing
标签:

创建日期:2022-09-07 12:05:27

Pandas 库是基于 NumPy 的工具,该工具是为了完成数据分析任务而创建的。

一、下载 pandas 库

下载方法:在PyCharm的最下方“终端中”输入:
pip install pandas -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
另外,若要导入 .xlsx 文件,则需要另外导入两个包:xlrd 和 openpyxl。

二、Series 对象

Series 类似于一维数组对象,由一组数据和另一组与之相关联的索引组成。

1. Series 对象的创建

可以通过数组和字典来构造 Series 对象。
在矩阵中可以指定 index 。

点击显/隐 Series 对象的创建代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> import numpy as np
>>> import pandas as pd
>>> pd.Series(np.array([1,3])) # 通过数组来构造 Series 对象
0 1
1 3
dtype: int32
>>> pd.Series(np.array([1,3]),index=['a','b']) # 指定 index 的值
a 1
b 3
dtype: int32
>>> pd.Series({'a':1},index=['a','b']) # 通过字典来构造 Series 对象
a 1.0
b NaN
dtype: float64

2. Series 对象的访问

可以分别访问 index 数组和 values数组。
另外,若要访问指定数组的值,可以通过主数组的下标来访问,也可以采用通过 Series 对象的 index 标签来访问。
另外,若要访问多个元素,方法与获取一个元素类似,但也稍有不同。

点击显/隐 Series 对象的访问的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>> x
a 1
b 3
dtype: int32
>>> x.index # 访问 index 数组
Index(['a', 'b'], dtype='object')
>>> x.values # 访问 values 数组
array([1, 3])
>>> x[1] # 通过主数组的下标访问单个元素
3
>>> x['b'] # 通过 index 标签访问单个元素
3
>>> x[0:2] # 通过主数组的下标访问多个元素
a 1
b 3
dtype: int32
>>> x[['a','b']] # # 通过 index 标签访问多个元素
a 1
b 3
dtype: int32

3. Series 对象的增删改操作

增加(或修改)操作都是直接对想要增加(或修改)的元素进行赋值。
在删除操作中,del x['a'] 可直接删除索引为 a 的元素;x.pop('a') 会返回删除的值的内容;`x.drop(‘a’)`` 返回一个没有索引为a的元素的数组,即返回一个删除操作后的数组,x 对象其值并没有改变。

点击显/隐 Series 对象的增删改操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
>>> x    # 初始矩阵
a 1
b 3
dtype: int32
>>> x['c']=4 # Series 对象的增加操作
>>> x
a 1
b 3
c 4
dtype: int64
>>> x['c']=5 # Series 对象的修改操作
>>> x
a 1
b 3
c 5
dtype: int64
>>> del x['c'] # Series 对象的删除操作,直接进行删除
>>> x.pop('b') # Series 对象的删除操作,会返回删除的值的内容
3
>>> x
a 1
dtype: int64

三、DataFrame 对象

Series 类似于二维数组对象

1. DataFrame 对象的创建

可以通过矩阵和字典来构造 DataFrame 对象
在矩阵中可以指定 index 和 columns,在字典中可以指定 index(columns 为字典的 key)

点击显/隐 DataFrame 对象的创建的代码
1
2
3
4
5
6
7
8
>>> pd.DataFrame(np.array([1,2,3,4]).reshape(2,2),index=['a','b'],columns=["A","B"])    # 通过矩阵来构造 DataFrame 对象,指定了 index 和 columns
A B
a 1 2
b 3 4
>>> pd.DataFrame({'A':[1,3],'B':[2,4]}) # 通过字典来构造 DataFrame 对象
A B
0 1 2
1 3 4

2. DataFrame 对象的访问

可以分别访问 index 数组、columns 数组和 values数组。
另外,若要访问指定数组的值,可以通过主数组的下标来访问,也可以采用通过 Data Frame 对象的 columns, index 标签来访问。
另外,若要访问多个元素,方法与获取一个元素类似,但也稍有不同。

点击显/隐 Series 对象的访问的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> y
A B
a 1 2
b 3 4
>>> y.index # 访问 index 数组
Index(['a', 'b'], dtype='object')
>>> y.columns # 访问 columns 数组
Index(['A', 'B'], dtype='object')
>>> y.values # 访问 values 数组
array([[1, 2],
[3, 4]])
>>> y['A']['a'] # 通过 columns, index 标签访问单个元素
1

3. DataFrame 对象的增删改操作

增加(或修改)操作都是直接对想要增加(或修改)的元素进行赋值。
在删除操作中,del x['a'] 可直接删除索引为 a 的元素;x.pop('a') 会返回删除的值的内容;`x.drop(‘a’)`` 返回一个没有索引为a的元素的数组,即返回一个删除操作后的数组,x 对象其值并没有改变。

点击显/隐 DataFrame 对象的增删改操作的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
>>> y
A B
a 1 2
b 3 4
>>> y['C']=[3,6] # DataFrame 对象的增加操作
>>> y
A B C
a 1 2 3
b 3 4 6
>>> y['C']=[4,8] # DataFrame 对象的修改操作
>>> y
A B C
a 1 2 4
b 3 4 8
>>> del y['C'] # DataFrame 对象的删除操作,直接删除
>>> y.pop('B') # DataFrame 对象的删除操作,返回被删除的值
a 2
b 4
Name: B, dtype: int32

四、NumPy 的基本运用

1. 数据统计

1) 最值与求和

若需要求每列最大值和最小值,使用函数 idxmax() 和 idxmin() 即可,axis=1 参数 可以改变为按行获值。;
若需要按列求和,使用函数 sum()、若需要累计按列求和,使用函数 cumsum(),axis=1 参数 可以改变为按行获值。

点击显/隐数据统计 · 最值与求和的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
>>> y    # 初始化 y 值
A B
a 1 2
b 3 4
c 5 6
>>> y.idxmax() # 获取最值 · 最大值,默认按列获值,最值 · 最小值同理
A c
B c
dtype: object
>>> y.idxmax(axis=1) # axis=1 参数观察结果可以看到是按行获值,最值 · 最小值同理
a B
b B
c B
dtype: object
>>> y.sum() # 按列获值,每列的和,axis=1 参数亦适用
A 9
B 12
dtype: int64
>>> y.cumsum() # # 按列获值,每列的累计和,axis=1 参数亦适用
A B
a 1 2
b 4 6
c 9 12

2) 去重

去重主要有两个函数:unique() 和 value_counts()。
unique() 函数的作用是去除重复的元素,若参数为 Series 对象,则返回一个 NumPy 数组。
value_counts() 函数的作用是返回一个 Series 对象,其中 index 为原 Series 对象中不重复的元素, values 为不重复的元素出现的次数。

五、导入与导出数据

1
2
3
4
5
6
7
8
9
10
11
12
>>> from pandas import *
>>> read_csv(r'c:\data.csv')
>>> read_table(r'c:\data.txt')
>>> read_excel(r'c:\data.xlsx')
>>> read_csv(r'c:\data.csv',sep=',',nrows=2,encoding='utf-8') # 两行
>>> read_excel(r'c:/data.xlsx',sheet_name=0)
>>> read_excel(r'c:/data.xlsx',sheet_name='data')
>>> read_excel(r'c:/data.xlsx', usecols=[0,2])
shuju4 = pd.read_excel(r'E:\2022Python\数据源.xlsx', sheet_name=0, index_col=None, header=0) # 行索引默认None,列索引默认0。即行索引为自动生成的从0开始的索引,列索引为第0行数据。
print('\nshuju4:\n',shuju4)
shuju5 = pd.read_excel(r'E:\2022Python\数据源.xlsx', sheet_name=0, index_col=None, header=None) # 行、列索引均为自动生成的从0开始的索引。
print('\nshuju5:\n',shuju5)
1
>>> to_csv()
浏览量

评论区

欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~

目录

  1. 1. 一、下载 pandas 库
  2. 2. 二、Series 对象
    1. 2.1. 1. Series 对象的创建
    2. 2.2. 2. Series 对象的访问
    3. 2.3. 3. Series 对象的增删改操作
  3. 3. 三、DataFrame 对象
    1. 3.1. 1. DataFrame 对象的创建
    2. 3.2. 2. DataFrame 对象的访问
    3. 3.3. 3. DataFrame 对象的增删改操作
  4. 4. 四、NumPy 的基本运用
    1. 4.1. 1. 数据统计
      1. 4.1.1. 1) 最值与求和
      2. 4.1.2. 2) 去重
    2. 4.2. 五、导入与导出数据

上一篇: 第三章 数据可视化(Matplotlib)

下一篇 第一章 数据计算(NumPy)

公告栏

《 

 》

Hello~近期剽窃本站内容频发,本站唯一指定网站:https://koinl.github.io。请认准。点击点击此处选择进入。
回到顶部
查看评论

Power By Hexo.

Theme:koinl.

信息来源于锦鲤未离