一、清理数据
1、数据缺失
可用平均值填充缺失值。
首先获得缺失值所在列的平均值,然后用.fillna()函数把平均值填充到各空值处,如:
mean = df['view'].mean()
df['view'].fillna(mean)
注意: .fillna()函数并没有修改原来的列,只是把更改返回成一个新列,这一列并没有储存到任何地方,需将更改赋值到原来的列里,或用一个叫inplace的参数来实现原地更改。如下:
df['view'] = df['view'].fillna(mean)
or
df['view'].fillna(mean, inplace=True)
2、数据冗余
可用.duplicated()函数查看冗余行,该函数将非首次出现的冗余行标为True。用.drop_duplicates(inplace=True)删除冗余行。
3、数据类型错误
例如,时间戳以字符串类型呈现,而不是datetime类型,可用.to_datetime()函数,将本列转换为datetime型。
注意: 将更改后的保存到CSV文件中,下次打开时文件仍会默认将数据读为字符串类型。
二、使用Pandas绘图
1、%matplotlib inline语句:
该语句使我们能在Notebook内部查看数据图。
2、.hist()函数:
查看DataFrame中所有值列的直方图(可调图形尺寸),例如:
df.hist(figsize=(8,8));
注意: 分号用来隐藏那些不需要的输出内容。
3、对某列绘制柱形图
df['age'].plot(kind='hist');
需要知道每种值的数量(即每个柱形的高度):用.value_counts()函数汇总一列中每个唯一值的数量。
df['age'].value_counts().plot()
4、绘制饼图
df['age'].value_counts().plot(kind='pie', figsize=(8,8));
5、散点图
(1)简单的散点图:用.plot()函数
df.plot(x='year', y='scale', kind='scatter');
(2)用.scatter_matrix()函数迅速了解变量间的关系,该函数还能展示每个变量的直方图。
pd.plotting.scatter_matrix(df, figsize=(15, 15));
6、箱线图
用.plot()函数。
df['age'].plot(kind='box');