第三、数据提取
进行数据提取时,主要使用三个函数:loc、iloc以及ix 。Loc函数按标签进行提?。琲loc按位置进行提取,ix可以同时按照标签和位置进行提取 。除了按标签和位置提取数据之外,还可以按照具体的条件进行提取,比如使用loc和isin两个函数配合使用 。
第四、数据筛选
Python数据分析还可以进行数据筛选,Python中使用loc函数配合筛选条件来完成筛选功能,配合sum和count函数还能实现Excel中sumif和countif函数的功能 。使用的主要函数是groupby和pivot_table;groupby是进行分类汇总的函数,使用方法比较简单 , groupby按列名称出现的顺序进行分组 。
像Excel一样使用Python(一)在进行数据处理时,如果数据简单,数量不多,excel是大家的首选 。但是当数据众多,类型复杂,需要灵活地显示切片、进行索引、以及排序时,python会更加方便 。借助python中的numpy和pandas库,它能快速完成各种任务,包括数据的创建、检查、清洗、预处理、提取、筛选、汇总、统计等 。接下来几篇文章,将以excel为参照,介绍python中数据的处理 。
提到pandas,那就不得不提两类重要的数据结构 , Series和DataFrame,这两类数据结构都是建立在numpy的数组array基础上 。与array相比,Series是一个一维的数据集,但是每个数据元素都带有一个索引,有点类似于字典 。而DataFrame在数组的基础上,增加了行索引和列索引,类似于Series的字典,或者说是一个列表集 。
所以在数据处理前 , 要安装好numpy , pandas 。接下来就看看如何完成一套完整的数据操作 。
创建数据表的方法分两种,分别是从外部导入数据,以及直接写入数据 。
在python中 , 也可外部导入xlsx格式文件,使用read_excel()函数:
import pandas as pd
from pandas import DataFrame,Series
data=https://www.04ip.com/post/DataFrame(pd.read_excel('c:/python27/test.xlsx'))
print data
输出:
Gene Size Function
0 arx1 411 NaN
1 arx2 550 monooxygenase
2 arx3 405 aminotransferase
……
即:调用pandas中read_excel属性,来读取文件test.xlsx,并转换成DataFrame格式,赋给变量data 。在每一行后 , 自动分了一个索引值 。除了excel,还支持以下格式文件的导入和写入:
Python写入的方法有很多,但还是不如excel方便 。常用的例如使用相等长度的字典或numpy数组来创建:
data1 = DataFrame(
{'Gene':['arx1','arx2','arx3'],
'Size':[411,550,405],
'Func':[np.NaN,'monooxygenase','aminotransferase ']})
print data1
输出
Func Gene Size
0 NaN arx1 411
1 monooxyg arx2 550
2 amino arx3 405
分配一个行索引后 , 自动排序并输出 。
在python中,可以使用info()函数查看整个数据的详细信息 。
print data.info()
输出
RangeIndex: 7 entries, 0 to 6
Data columns (total 3 columns):
Gene 7 non-null object
Size 7 non-null int64
Function 5 non-null object
dtypes: int64(1), object(2)
memory usage: 240.0+ bytes
None
此外 , 还可以通过shape, column, index, values, dtypes等函数来查看数据维度、行列组成、所有的值、 数据类型:
print data1.shape
print data1.index
print data1.columns
print data1.dtypes
输出
(3, 3)
RangeIndex(start=0, stop=3, step=1)
Index([u'Func', u'Gene', u'Size'], dtype='object')
Func object
Gene object
Size int64
dtype: object
在excel中可以按“F5”,在“定位条件”中选择“空值”,选中后,输入替换信息,再按“Ctrl+Enter”即可完成替换 。
推荐阅读
- 无人直播麦克风,无人直播麦克风有要求吗
- 制作电视墙的灯带叫什么,电视墙的灯带是怎么装上的
- 理发店如何线上推广,理发店网络推广方案
- 食品直播卖货背景图片高清,食品直播卖货剧本范本
- vb.net界面效果 vbnet override
- 路由器是什么样子视频教学,路由器是长什么样
- atom电脑装什么系统,atom win7
- vb.net控件进度条 vb显示进度条
- 安装NET3.5显示跟组件不匹配,安装net报错