Pandas

Pandas是Python中用于数据处理和分析的库,尤其对于大数据行业的数据清洗很有帮助。

通过带有标签的列和索引,Pandas 使我们可以以一种所有人都能理解的方式来处理数据。它可以让我们毫不费力地从诸如 csv 类型的文件中导入数据。我们可以用它快速地对数据进行复杂的转换和过滤等操作。

开始使用Pandas

对于使用 Python 库,第一步必然是import:

import pandas as pd

数据类型 Data types

Pandas 基于两种数据类型,series 和 dataframe。

文件操作

从文件导入数据

保存数据

数据操作

列操作 Column operations

行操作 Row operations

单元格操作 Cell operations

数据筛选

索引 Index

可以根据索引来获取某一行,而且获取行数据的方法是根据标签的类型变化而变化的。

排序 Sort

将索引排序通常会很有用,在 Pandas 中,我们可以对 dataframe 调用 sort_index 方法进行排序。

df.sort_index(ascending=False)

当将一列设置为索引的时候,它就不再是数据的一部分了。如果你想将索引恢复为数据,调用set_index 相反的方法 reset_index 即可:

对数据集应用函数

有时你想对数据集中的数据进行改变或者某种操作。比方说,你有一列年份的数据,你需要新的一列来表示这些年份对应的年代。Pandas 中有两个非常有用的函数, apply 和 applymap 。

def base_year(year):
    base_year = year[:4]
    base_year= pd.to_datetime(base_year).year
    return base_year

df['year'] = df.water_year.apply(base_year)
df.head(5)

操作数据集的结构

合并数据集

将有两个相关联的数据集放在一起:

rain_jpn = pd.read_csv('jpn_rain.csv')
rain_jpn.columns = ['year', 'jpn_rainfall']
uk_jpn_rain = df.merge(rain_jpn, on='year')
uk_jpn_rain.head(5)

需要通过 on 关键字来指定需要合并的列。通常你可以省略这个参数,Pandas 将会自动选择要合并的列。

快速画图

Matplotlib 很棒,但是想要绘制出还算不错的图表却要写不少代码,而有时你只是想粗略的做个图来探索下数据,搞清楚数据的含义。Pandas 通过 plot 来解决这个问题:

uk_jpn_rain.plot(x='year', y=['rain_octsep', 'jpn_rainfall'])

References

回到目录