本节书摘来自异步社区《从Excel到Python——数据分析进阶指南》一书中的第1章,第1.1节,作者 王彦平(蓝鲸),更多章节内容可以访问云栖社区“异步社区”公众号查看
第1章 生成数据表
从Excel到Python——数据分析进阶指南
常见的生成数据表的方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel中的“文件”菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。
Python支持从多种类型的数据导入。在开始使用Python进行数据导入前需要先导入pandas库,为了方便起见,我们也同时导入numpy库。
import numpy as np
import pandas as pd
- 导入数据表
下面分别是从Excel和csv格式文件中导入数据并创建数据表的方法。代码是最简模式,里面有很多可选参数设置,例如列名称、索引列、数据格式等。感兴趣的朋友可以参考pandas的官方文档。
df=pd.DataFrame(pd.read_csv('name.csv',header=1))
df=pd.DataFrame(pd.read_excel('name.xlsx'))
- 创建数据表
另一种方法是通过直接写入数据来生成数据表,Excel中直接在单元格中输入数据就可以,Python中通过下面的代码来实现。生成数据表的函数是pandas库中的DateFrame函数,数据表一共有6行数据,每行有6个字段。在数据中我们特意设置了一些NA值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。后面我们将统一以DataFrame的简称df来命名数据表。
df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006],
"date":pd.date_range('20130102', periods=6),
"city":['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],
"age":[23,44,54,32,34,32],
"category":['100-A','100-B','110-A','110-C','210-A','130-F'],
"price":[1200,np.nan,2133,5433,np.nan,4432]},
columns =['id','date','city','category','age','price'])
这是刚刚创建的数据表,我们没有设置索引列,price字段中包含有NA值,city字段中还包含了一些脏数据。