Pandas 是一个 Python 模块,是最常用的数据分析库。学习Pandas的途径很多,例如官网上的教程。但 kaggle 微课有它的好处,使用平台提供的数据库,与实际应用关系更密切。
以下是我整理的思维导图:
一、基本数据类型
Pandas 里面有两个基本数据类型:DataFrame 和 Series。其中DataFrame类似于二维表格,而Series则类似于列表。
(一)DataFrame
# 通过字典创建DataFrame
pd.DataFrame({
'Yes': [50, 21], 'No': [131, 2]})
pd.DataFrame({
'Bob': ['I liked it.', 'It was awful.'],
'Sue': ['Pretty good.', 'Bland.']},
index=['Product A', 'Product B'])
上图展示了由第二个语句定义的一个DataFrame,可以看到第一行、第一列分别为“列标签”(column name)、“行索引”(index),它们用于数据的查找。其余部分为数据本身。
通过字典来定义DataFrame,每一个“键”对应于一列,而“值”一般为列表,保存具体数据。
可以通过index列表定义DataFrame的序列名,如果不定义,则默认从0开始编号。
(二)Series
# 通过列表来创建 Series
pd.Series([30, 35, 40], index=['2015 Sales', '2016 Sales', '2017 Sales'],
name='Product A')
与 python 列表的区别在于,Series 能够定义“行索引”index,还可以定义一个Name变量。
(三)读取文件数据
最常见的是读取CSV文件
# 读取文件,index_col = 0 避免产生重复的行索引
wine_reviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv",
index_col=0)
# 预览前五条数据
wine_reviews.head()
# 查看DataFrame的大小,注意无需括号(加括号会报错)
wine_reviews.shape
二、DataFrame的索引、选择与赋值
(一)索引 Indexing
假设名为 reveiws 的 DataFrame 如上图所示,如何查找其中的列或者元素?
# 查找其中的列,返回一个 Series , 有两种方式
reveiws.country
reveiws['country']
# 查找某一单元格的值
reveiws['country'][0]
基于索引(index-based)的查找:
.iloc[index] 通过序列号返回DataFrame的某一行