用Python做数据分析之生成数据表

第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel 中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。

获取外部数据

python 支持从多种类型的数据导入。在开始使用 python 进行数据导入前需要先导入 pandas 库,为了方便起见,我们也同时导入 numpy 库。

1 import numpy as np

2 import pandas as pd

导入数据表

下面分别是从 excel 和 csv 格式文件导入数据并创建数据表的方法。代码是最简模式,里面有很多可选参数设置,例如列名称,索引列,数据格式等等。感兴趣的朋友可以参考 pandas 的

官方文档。

1 df=pd.DataFrame(pd.read_csv('name.csv',header=1))

2 df=pd.DataFrame(pd.read_excel('name.xlsx'))

创建数据表

另一种方法是通过直接写入数据来生成数据表,excel 中直接在单元格中输入数据就可以,python 中通过下面的代码来实现。生成数据表的函数是 pandas 库中的 DateFrame 函数,数据表一共有 6 行数据,每行有 6 个字段。在数据中我们特意设置了一些 NA 值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。后面我们将统一以 DataFrame 的简称 df 来命名数据表。

1  df = pd.DataFrame({'id':[1001,1002,1003,1004,1005,1006],

2 'date':pd.date_range('20130102', periods=6),

3 'city':['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],

4 'age':[23,44,54,32,34,32],

5 'category':['100-A','100-B','110-A','110-C','210-A','130-F'],

6 'price':[1200,np.nan,2133,5433,np.nan,4432]},

7  columns =['id','date','city','category','age','price'])

这是刚刚创建的数据表,我们没有设置索引列,price 字段中包含有 NA 值,city 字段中还包含了一些脏数据。

数据表检查

python 中处理的数据量通常会比较大,所以就需要我们对数据表进行检查。比如我们之前的文章中介绍的纽约出租车数据和 Citibike 的骑行数据,数据量都在千万级,我们无法一目了然的了解数据表的整体情况,必须要通过一些方法来获得数据表的关键信息。数据表检查的另一个目的是了解数据的概况,例如整个数据表的大小,所占空间,数据格式,是否有空值和重复项和具体的数据内容。为后面的清洗和预处理做好准备。

数据维度(行列)

Excel 中可以通过 CTRL 向下的光标键,和 CTRL 向右的光标键来查看行号和列号。Python 中使用 shape 函数来查看数据表的维度,也就是行数和列数,函数返回的结果(6,6)表示数据表有 6 行,6 列。下面是具体的代码。

1 #查看数据表的维度

2 df.shape

3 (6, 6)

数据表信息

使用 info 函数查看数据表的整体信息,这里返回的信息比较多,包括数据维度,列名称,数据格式和所占空间等信息。

1 #数据表信息

2 df.info()

4 <class 'pandas.core.frame.DataFrame'>

5 RangeIndex: 6 entries, 0 to 5

6 Data columns (total 6 columns):

7 id          6 non-null int64

8 date        6 non-null datetime64[ns]

9 city        6 non-null object

10 category    6 non-null object

11 age         6 non-null int64

12 price       4 non-null float64

13 dtypes: datetime64[ns](1), float64(1), int64(2), object(2)

14 memory usage: 368.0  bytes

查看数据格式

Excel 中通过选中单元格并查看开始菜单中的数值类型来判断数据的格式。Python 中使用 dtypes 函数来返回数据格式。

Dtypes 是一个查看数据格式的函数,可以一次性查看数据表中所有数据的格式,也可以指定一列来单独查看。

1#查看数据表各列格式

2df.dtypes

3

4id                   int64

5date        datetime64[ns]

6city                object

7category            object

8age                  int64

9price              float64

10dtype: object

11

12#查看单列格式

13df['B'].dtype

14

15dtype('int64')

查看空值

Excel 中查看空值的方法是使用“定位条件”功能对数据表中的空值进行定位。“定位条件”在“开始”目录下的“查找和选择”目录中。

Isnull 是 Python 中检验空值的函数,返回的结果是逻辑值,包含空值返回 True,不包含则返回 False。可以对整个数据表进行检查,也可以单独对某一列进行空值检查。

df_isnull

1#检查特定列空值

2df['price'].isnull()

3

40    False

51     True

62    False

73    False

84     True

95    False

10Name: price, dtype: bool

查看唯一值

Excel 中查看唯一值的方法是使用“条件格式”对唯一值进行颜色标记。Python 中使用 unique 函数查看唯一值。

Unique 是查看唯一值的函数,只能对数据表中的特定列进行检查。下面是代码,返回的结果是该列中的唯一值。类似与 Excel 中删除重复项后的结果。

1 #查看 city 列中的唯一值

2 df['city'].unique()34array(['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '], dtype=object)

查看数据表数值

Python 中的 Values 函数用来查看数据表中的数值。以数组的形式返回,不包含表头信息。

1#查看数据表的值

2df.values

3

4array([[1001, Timestamp('2013-01-02 00:00:00'), 'Beijing ', '100-A', 23,

5        1200.0],

6       [1002, Timestamp('2013-01-03 00:00:00'), 'SH', '100-B', 44, nan],

7       [1003, Timestamp('2013-01-04 00:00:00'), ' guangzhou ', '110-A', 54,

8        2133.0],

9       [1004, Timestamp('2013-01-05 00:00:00'), 'Shenzhen', '110-C', 32,

10        5433.0],

11       [1005, Timestamp('2013-01-06 00:00:00'), 'shanghai', '210-A', 34,

12        nan],

13       [1006, Timestamp('2013-01-07 00:00:00'), 'BEIJING ', '130-F', 32,

14        4432.0]], dtype=object)

查看列名称

Colums 函数用来单独查看数据表中的列名称。

1 #查看列名称

2 df.columns

3

4 Index(['id', 'date', 'city', 'category', 'age', 'price'], dtype='object')

查看前 10 行数据

Head 函数用来查看数据表中的前 N 行数据,默认 head()显示前 10 行数据,可以自己设置参数值来确定查看的行数。下面的代码中设置查看前 3 行的数据。

1`#查看前 3 行数据``df.head(``3``)`

Tail 行数与 head 函数相反,用来查看数据表中后 N 行的数据,默认 tail()显示后 10 行数据,可以自己设置参数值来确定查看的行数。下面的代码中设置查看后 3 行的数据。

1#查看最后 3 行df.tail(3)

(0)

相关推荐

  • Python数据分析可以干什么?

    现在Python数据分析已经成为职场人士必备的技能,既能提升工作效率,也能获得很好的发展前景.那么Python数据分析可以干什么?简单来说,Python数据分析可以做很多事情,其中包含数据清洗.检查数 ...

  • Pandas groupby分组操作详解

    在数据分析中,经常会遇到这样的情况:根据某一列(或多列)标签把数据划分为不同的组别,然后再对其进行数据分析.比如,某网站对注册用户的性别或者年龄等进行分组,从而研究出网站用户的画像(特点).在Pand ...

  • Python数据分析:数据清洗教学

    数据清洗是数据分析关键的一步,直接影响之后的处理工作 数据需要修改吗?有什么需要修改的吗?数据应该怎么调整才能适用于接下来的分析和挖掘? 是一个迭代的过程,实际项目中可能需要不止一次地执行这些清洗操作 ...

  • Pandas使用自定义函数

    如果想要应用自定义的函数,或者把其他库中的函数应用到Pandas对象中,有以下三种方法: 1)操作整个DataFrame的函数:pipe() 2)操作行或者列的函数:apply() 3)操作单一元素的 ...

  • (3条消息) 【学习笔记】python实现excel数据处理

    概述 Excel固然功能强大,也有许多函数实现数据处理功能,但是Excel仍需大量人工操作,虽然能嵌入VB脚本宏,但也容易染上宏病毒.python作为解释性语言,在数据处理方面拥有强大的函数库以及第三 ...

  • 用Python做数据分析之数据表清洗

    对数据表中的问题进行清洗.主要内容包括对空值,大小写问题,数据格式和重复值的处理.这里不包含对数据间的逻辑验证. 处理空值(删除或填充) 我们在创建数据表的时候在 price 字段中故意设置了几个 N ...

  • 用Python做数据分析之数据筛选及分类汇总

    用Python做数据分析之数据筛选及分类汇总

  • 用Python做数据分析之数据统计

    接下来说说数据统计部分,这里主要介绍数据采样,标准差,协方差和相关系数的使用方法. 1.数据采样 Excel 的数据分析功能中提供了数据抽样的功能,如下图所示.Python 通过 sample 函数完 ...

  • 用Python做数据分析之数据处理及数据提取

    用Python做数据分析之数据处理及数据提取

  • Python做数据分析有哪些优势?Python基础!

    众所周知,可以用作数据分析的语言有很多,包含Python.R语言等,而且Python被誉为数据分析的一大利器,更是该领域的首选语言,那么用Python做数据分析有哪些优势呢?跟着小编往下看. 第一.P ...

  • 有了这个 Jupyter 插件,用 Python 做数据分析就像 Excel 一样简单

    Python编程与实战 前天 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 加载一个Jupyter插件后,无需写代码就能做数据分析,还帮你生成相应代码? 没错,只需要加载这个名为Mito ...

  • 想用 Python 做数据分析?先玩玩这个再说

    数据分析是 Python 的一大应用领域.据我所知,本教室的读者中有不少学习 Python 就是为了在工作中能用它分析数据.这其中,又有相当一部分人是涉及金融相关行业,有从业人员,有学生,还有对此具有 ...

  • (附代码)Pandas必会的方法汇总,用Python做数据分析更加如鱼得水!

    编者荐语用Python做数据分析光是掌握numpy和matplotlib可不够,Pandas是必须要掌握的一个重点,numpy虽然能够帮我们处理处理数值型数据,但是这还不够,很多时候,我们的数据除了数 ...

  • excel中批量以一列姓名生成数据表

    如下表格 我们想用每一个名字生成一个表格,手工一个一个添加表格,然后重命名的话,数据量小的时候还可以,大量数据的时候,非常慢. 接下来,我们介绍一种批量的方法. 首先,我们插入数据透视表,设置方法如下 ...