如果你想要利用python来学习数据分析和机器学习,你将很有可能使用非常强大的
Pandas库。Pandas是python的一个可供数据操纵和分析的开源库。今天的内容是小编带你对Pandas进行简单的入门。
1 读取数据
这有一种很简单的方式,就是你可以用Python加载数据表(tables)以及excel文件:
Pandas可以让我们读取电子表格并且用python程序化地操纵它们。
Pandas的核心是
DataFrame——基本上是一个数据表,每个行和列都有一个label。
现在先让小编演示如何读取一个包含音乐服务数据的基本CSV文件。
import pandasdf=pandas.read_csv('music.csv')

read_csv
函数可以把轻松地把数据搬到DataFrame里。同学们还要注意修改括号里文件的路径。
接下来就可以对数据进行切分用来分析了。
2 选择数据
根据它的label选择任意一列:
df['Artist']

也可以使用它的行号来选择一行或者多行:
df[1:3]

我们可以使用
loc函数和列标签、行号来选择表格的任意一块,
要注意的是与上一种方法不同,这里要包含两个边界标号:
df.loc[1:3,['Artist']]

3 过滤
我们还可以使用行的特定的值来对数据进行过滤:
df[df['Genre']=='Jazz']

df[df['Listeners']>1800000]

4 处理缺失值
你面对的数据集里将经常遇到
缺失值,如下图。

那么让小
编带你看看如何处理缺失值。
有很多方法可以采用,其中有一个简单的方法就是把有缺失值的行删掉:
df.dropna()

还有利用
fillna()
函数来填充缺失值,比如用零:
df.fillna(0)
5 分组
还有一个有趣的操作,就是你可以用一定的规则来把数据
分组并且整合数据。比如,我们用流派“genre”来分组,并且看看每个流派有多少听众和播放量:
df.groupby('Genre').sum()

Pandas将两个“Jazz”行组合为一行,由于我们使用
sum()进行聚合,因此它将两个Jazz艺术家的听众和播放量相加,并在combined Jazz列中显示总和。
这是一种非常强大的数据分析方法。现在你已经知道groupby(),就可以使用这个工具来折叠数据集并从中得到你的见解。学会聚集统计学的基础工具之一groupby(),相信这对你有很大的帮助。
除了sum()之外,Pandas还提供了多个聚合函数,包括
mean()来计算平均值、
min()、
max()和多个其他函数。
6 从存在的列中创建新的列
通常在数据分析过程中,我们发现我们需要从现有的数据中创建新的列。P
andas可以轻而易举地实现这个。
df['Avg Plays']=df['Plays']/df['Listeners']

通过告诉Pandas将一列除以另一列,它意识到我们要分别除以各个值(即每行的Plays值除以该行的Listeners值)。
今天的内容就分享到这里,你可以将学习的内容练习一遍,动手练习效果更佳哦。
本文来源:https://jalammar.github.io/gentle-visual-intro-to-data-analysis-python-pandas/
翻译:Sunam
