numpy和pandas的常用操作

创建数据对象

Pandas最常用的数据对象是数据框(DataFrame)和Series。数据框与R中的DataFrame格式类似,都是一个二维数组。Series则是一个一维数组,类似于列表。数据框是Pandas中最常用的数据组织方式和对象。有关更多数据文件的读取将在第三章介绍,本节介绍从对象和文件创建数据框的方式,具体如表1所示:

表1 Pandas创建数据对象

方法

用途

示例

示例说明

read_tableread_csvread_excel

从文件创建数据框

In: import pandas as pd In: data1 = pd.read_table('table_data.txt',sep=';')

读取table_data.txt文件,数据分隔符是;

DataFrame.from_dictDataFrame.from_itemsDataFrame.from_records

从其他对象例如Series、Numpy数组、字典创建数据框

In: data_dict = {'col1': [2, 1, 0], 'col2': ['a', 'b', 'a'], 'col3': [True, True, False]}In: data2 = pd.DataFrame.from_dict(data_dict)

基于字典创建数据框,列名为字典的3个key,每一列的值为key对应的value值

2 查看数据信息

查看信息常用方法包括对总体概况、描述性统计信息、数据类型和数据样本的查看,具体如表2所示:

表2 Pandas常用查看数据信息方法汇总

方法

用途

示例

示例说明

info

查看数据框的索引和列的类型、费控设置和内存用量信息。

In: print(http://data2.info())Out: <class 'pandas.core.frame.DataFrame'>RangeIndex: 3 entries, 0 to 2Data columns (total 3 columns):col1 3 non-null int64col2 3 non-null objectcol3 3 non-null booldtypes: bool(1), int64(1), object(1)memory usage: 131.0+ bytesNone

返回对象的所有信息

describe

显示描述性统计数据,包括集中趋势、分散趋势、形状等。

In: print(data2.describe())Out: col1count 3.0mean 1.0std 1.0min 0.025% 0.550% 1.075% 1.5max 2.0

默认查看数值型列,使用include= 'all'查看所有类型数据

dtype

查看数据框每一列的数据类型

In: print(data2.dtypes)Out: col1 int64col2 objectcol3 booldtype: objectt

结果是Series类型

head

查看前N条结果

In: print(data2.head(2))Out: col1 col2 col30 2 a True1 1 b True

从第一行开始取前2行

tail

查看后N条结果

In: print(data2.tail(2))Out: col1 col2 col31 1 b True2 0 a False

从最后一行开始取后2行

index

查看索引

In: print(data2.index)Out: RangeIndex(start=0, stop=3, step=1)

结果是一个类列表的对象,可用列表方法操作对象

columns

查看列名

In: print(data2.columns)Out: Index(['col1', 'col2', 'col3'], dtype='object')

shape

查看形状,记录有多少行多少列

In: print(data2.shape)Out: (3,3)

形状为元组类型

isnull

查看每个值是否为空值

In: print(data2.isnull())Out: col1 col2 col30 False False False1 False False False2 False False False

数据中没有空值,因此都是False

unique

查看特定列的唯一值

In: print(data2['col2'].unique())Out: ['a' 'b']

查看col2列的唯一值

注意 在上述查看方法中,除了info方法外,其他方法返回的对象都可以直接赋值给变量,然后基于变量对象做二次处理。例如可以从dtype的返回值中仅获取类型为bool的列。

3 数据切片和切块

数据切片和切块是使用不同的列或索引切分数据,实现从数据中获取特定子集的方式。常见的数据切片和切换的方式如表3所示:

表3 Pandas常用数据切分方法

方法

用途

示例

示例说明

[['列名1', '列名2',…]]

按列名选择单列或多列

In: print(data2[['col1','col2']])Out: col1 col20 2 a1 1 b2 0 a

选择data2的col1和col3两列

[m:n]

选择行索引在m到n间的记录

In: print(data2[0:2])Out: col1 col2 col30 2 a True1 1 b True

选取行索引在[0:2)中间的记录,不包含2

iloc[m:n]

In: print(data2.iloc[0:2])Out: col1 col2 col30 2 a True1 1 b True

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值