pandas 基于 numpy 构建,可以提供强大的数据处理分析能力。
两种数据类型,series 和 dataframe
数据集
- 英国政府 https://data.gov.uk/data/search
- 美国政府 http://catalog.data.gov/dataset
- Kaggle https://www.kaggle.com/
Series
series 是一种一维数据类型,每个元素都有各自的标签。可以当成带标签元素的 numpy 数组,标签可以是数字或者字符。Series 可以用元组、列表或者字典生成,如果没有为数据指定标签,那么会自动生成 0 到 N-1 的标签。
obj = Series([4, 7, -5, 3])
obj2 = Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])
sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
值和标签分别可以通过 .values
和 .index
来访问
Dataframe
dataframe 是一个二维、表格型的数据结构,每个轴都有标签。
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],
'year': [2000, 2001, 2002, 2001, 2002],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
frame = DataFrame(data)
读取数据的方式
读 csv 文件
pandas.read_csv('path.csv')
写 csv 文件
data.to_csv('filepath.csv')
读 csv 这个函数有非常多的参数,比如读很大的文件,只想要读前 500 条,那么可以使用
pandas.read_csv('path.csv', nrows=500)
读 \t
分割的表格可以使用
pandas.read_table()
同理这个方法也有非常多的参数,可以具体参考文档。
还有读取等宽数据
pandas.read_fwf()
读取 Excel
pandas.read_excel()
读取 JSON
pandas.read_json()
读取网页
pandas.read_html()
读取 SQL 有
pandas.read_sql_table()
pandas.read_sql_query()
pandas.read_sql()
还有其他包括 Google BigQuery,HDFS,SAS 等等数据来源的,可以参考官方文档的 API reference。
reference
- 利用 Python 进行数据分析