用Excel演示python中pandas中数据的查询显示方法-python数据分析入门
来源:互联网 发布:bf2怎么修改大炮数据 编辑:程序博客网 时间:2024/05/22 06:45
版权声明:本文为博主原创文章,未经博主允许不得转载。
pandas是python进行数据分析必须掌握的基本技能。对于许多初学者而言,pandas中最基本的loc,iloc,at,iat等查询方法十分容易混淆。对于体量较小的数据而言excel能较好进行数据分析、整理工作,对于大多数数据工作者对excel都十分的熟悉。为了能更好的理解pandas的查询操作,这里选用excel作为对比材料,对相关的方法进行了描述,希望能对初学者学习pandas有所帮助.
l pandas的数据结构
pandas 有两个主要的数据结构,Series和DataFrame
Series类似一维数组的对象,简单点可以理解为excel单独的列。
DataFrame可以理解为excel中的一张表,注意Excel表中行编号默认从1开始,pandas是从0开始的。
l 利用pandas建立一张类似excel的表
#加载pandasimport pandas as pd#创建一个Series数据,index是自动添加从0开始编排column_0 = pd.Series(['A_00','A_10','A_20','A_30','A_40'])print(column_0)#创建一个另外四列数据,index是自动添加从0开始编排column_1 = pd.Series(['B_01','B_11','B_21','B_31','B_41'])column_2 = pd.Series(['C_02','C_12','C_22','C_32','C_42'])column_3 = pd.Series(['D_03','D_13','D_23','D_33','D_43'])column_4 = pd.Series(['E_04','E_14','E_24','E_34','E_44'])#生成一个DataFrame,或者说一张Excel表,注意Excel是默认从1开始编排的df = pd.DataFrame({'A' : column_0, 'B' : column_1, 'C' : column_2, 'D' : column_3, 'E' : column_4, })print(df)
输出:
column_0:
A0 A_001 A_102 A_203 A_304 A_40
A B C D E0 A_00 B_01 C_02 D_03 E_041 A_10 B_11 C_12 D_13 E_142 A_20 B_21 C_22 D_23 E_243 A_30 B_31 C_32 D_33 E_344 A_40 B_41 C_42 D_43 E_44
用excel做一张同样的表,请仔细对比和理解pandas中的DataFarme和excel表的区别和联系。为了便于理解将列DataFarme设计成Excel的形式从A开始编号。
l 如何在选取行(行的切片)--------[i:j]
Excel有交互界面可以任宜的选取行数据。
请注意在选取行的时候,行和列的编号也是被选中的。
Pandas选取行的方法
df[i,j]选取的是从i行道j-1行,所以df[1:3]为:
A B C D E1 A_10 B_11 C_12 D_13 E_142 A_20 B_21 C_22 D_23 E_24
df[:j]选取的是从0到j-1行,df[i:]选取的是从i行道最后一行,所以df[2:]为:
A B C D E2 A_20 B_21 C_22 D_23 E_243 A_30 B_31 C_32 D_33 E_344 A_40 B_41 C_42 D_43 E_44
通过上述方法可以实现excel中行数据的显示。
l 如何在选取列(列的切片)----------.loc以及.iloc
df.loc[:,['A']] #选取列名的列数据,选取多列用逗号隔开。输出结果为:
A0 A_001 A_102 A_203 A_304 A_40
df.loc[0:2,['A']] #选取行列名的列数据,选取多列用逗号隔开。输出结果为:
A0 A_001 A_102 A_20
Iloc与loc的区别在于,loc用的是行列的值作为引用的数据,而iloc用的是编号。
df.loc[0:2,['A']] 等同于 df.iloc[0:3,0:1]
请思考为什么前置0:2显示3列,而后者显示3列是0:3?
df.loc[:,['A']] 等同于 df.iloc[:,0:1]
理解了上述方法,基本可以选取到需要的切片了。
l 如何选取指定单元格的值(注意只是值,没有行列名)----------.at以及.iat
如果我们想快速的修改表中的某个值,必须有办法获取这个单元格的值,这里就要用到at以及iat,两者的区别类似loc以及iloc。
df.at[3,'B'] #输出结果为
B_31
df.at[3,'B'] 等同于 df.iat[3,1]
这个建立这个excel表的意义在于帮助理解python中的编号。
修改表中的值
df.iat[3,1] = 'select' #表变为:
A B C D E0 A_00 B_01 C_02 D_03 E_041 A_10 B_11 C_12 D_13 E_142 A_20 B_21 C_22 D_23 E_243 A_30 select C_32 D_33 E_344 A_40 B_41 C_42 D_43 E_44
- 用Excel演示python中pandas中数据的查询显示方法-python数据分析入门
- Python pandas数据分析中常用方法
- 用Python做数据分析:Pandas常用数据查询语法
- Python 数据分析包:pandas 入门
- 利用python进行数据分析-pandas入门
- 利用Python数据分析:pandas入门(四)
- 利用Python数据分析:pandas入门(五)
- 利用Python数据分析:pandas入门(六)
- Python——数据分析Pandas入门
- Python数据分析入门-Pandas环境搭建
- python数据分析(pandas入门)
- python数据分析---Pandas
- Python 数据分析 pandas
- Python数据分析之利用pandas查询数据
- 利用Python 的 Pandas进行数据分析
- 基于python的数据分析库Pandas
- python数据分析包pandas的使用方法
- Python 数据分析-pandas 基础
- Android ShareSDk三方登录笔记
- 4385: [POI2015]Wilcze doły
- 用Supervisord管理进程
- Javadoc-有用的注解
- 接口的外部调用的单元测试思路介绍
- 用Excel演示python中pandas中数据的查询显示方法-python数据分析入门
- ajax请求后台,有时收不到返回值的解决办法
- SSM所需要的jar包
- php安装redis
- 了解CSS
- Faster RCNN简单总结
- Unity官方案例精讲笔记 unity中常用类之间的关系
- centOS6.5下mysql的主从同步
- NVIC的优先级问题