数据分析之pandas库学习
前言💟
最近接触到一个合作项目,要对excel表格进行操作。我用openxl写好了自己这部分的功能模块,本来一切都风和日丽,谁知道一看源代码,这个项目使用的是pandas来对excel表格进行读写操作。赶巧这个项目因为分镜那边在赶需求受到了拖延,我就打算重新用pandas改一下我写的这部分功能。顺便学习一下这个强大的数据分析库。
参考文档
参考教程
Pandas的数据结构
DataFrame
表格型数据结构,多行多列。具有行索引index和列索引columns,可以被看做由Series组成的字典。
Series
Series表示一维数据:一行或者一列。由一组数据以及与这些数据相关的数据标签(列索引)组成。
查询数据
df.loc 可以通过标签或者布尔数组访问一组行或者列
参考文档
查询一个数据
通过df.loc[某行,某列]
,精确到某行某列,查询它的值。
查询一行或者一列(Series)
通过df[某行或者某列]
查询某行或者某列的数据。通过df.loc[某行,[始列,终列]]
,或者df.loc[始行:终行,列]
查询一个某行或者某列某个范围的数据。
查询一个表(DataFrame)
通过df[某行(列),某行(列),某行(列)...]
查询一个由某几行(列)组成的DataFrame
通过df.loc[[始行,终行],[始列,终列]]
,或者df.loc[始行:终行,始列:终列]
查询一个有范围的二维数据
根据条件表达式进行数据的筛选
通过df.loc[条件,:]
,符合的条件一般是与被切片轴长度相同的布尔数组。例如,这个布尔数组可以通过df[行名]>6来获取,即df.loc[df[列名]>6,:]
,来获取该列大于6的数据,“:”表示获取改行全部的列数据。
根据函数对数据进行查询
将DataFrame的每一行或者每一列传入函数的参数df中,然后返回符合条件的行或者列,组成新的DataFrame。例如:
1 | def query_my_data(df): |
或者
1 | df.loc[lambda df:df["aaa"]>10 & df["bbb"]<20] |
新增或者修改数据列
直接赋值
1 | df.loc[行,列]=修改后的数值 #修改某个值 |
df.apply方法
参考文档
对DataFrame的某个轴应用一个函数,来修改或增加数据。参数axis的取值有两个,0和1,0表示传入的Series的key为行名(即循环每一列),1表示传入的Series的key为列名(即循环每一行),例如
1 | df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B']) |
df.assign方法
参考文档
参数传入一个Series或者一个函数。
1 | df = pd.DataFrame({'temp_c': [17.0, 25.0]},index=['Portland', 'Berkeley']) |
统计
1 | df.describe() #统计所有数字结果 |
后话😇
学了两天,大概了解了pandas是对表格数据处理的好工具,它独特的数据结构使得它对数据处理的速度(循环遍历)大大加快。再学下去我就去做数分了哈哈哈,就暂时学到这里,如果大家有兴趣可以看这部教程 ~有缘再见!
- 标题: 数据分析之pandas库学习
- 作者: Arya
- 创建于 : 2024-01-03 08:00:00
- 更新于 : 2024-01-25 09:47:51
- 链接: https://aryagala0.github.io/2024/01/03/python基础/python数据分析之pandas库/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。