Pandas提供快速,灵活和富于表现力的数据结构,是强大的数据分析Python库。
本文收录于机器学习前置教程系列。
2. 选择数据
2.1 根据标签选择
我们输入df['A']命令选取A列。
输出A列数据,同时也是一个Series对象:
df[0:3]该代码与df.head(3)同理。但df[0:3]是NumPy的数组选择方式,这说明了Pandas对于NumPy具有良好的支持。
通过loc方法指定行列标签。
2.2 根据位置选择
iloc 与loc不同。loc指定具体的标签,而iloc指定标签的索引位置。df.iloc[3:5, 0:3]表示选取索引为3、4的行,索引为0、1、2的列。即,第4、5行,第1、2、3列。
注意,索引序号从0开始。冒号表示区间,左右两侧分别表示开始和结束。如3:5表示左开右闭区间[3,5),即不包含5自身。
2.3 布尔索引
DataFrame可根据条件进行筛选,当条件判断True时,返回。当条件判断为False时,过滤掉。
我们设置一个过滤器用来判断A列是否大于0。
3. 处理缺失值
准备数据。
展示表格如下:
3.1 dropna()
使用dropna方法清空NaN值。注意:dropa方法返回新的DataFrame,并不会改变原有的DataFrame。
3.2 fillna()
使用filna命令填补NaN值。
以上代码表示,使用每一列的平均值来填补空缺。同样地,fillna并不会更新原有的DataFrame,如需更新原有DataFrame使用代码df2 = df2.fillna(df2.mean())。
展示表格如下:
4. 操作方法
4.1 agg()
agg是Aggregate的缩写,意为聚合。
常用聚合方法如下:
mean(): Compute mean of groups
sum(): Compute sum of group values
size(): Compute group sizes
count(): Compute count of group
std(): Standard deviation of groups
var(): Compute variance of groups
sem(): Standard error of the mean of groups
describe(): Generates descriptive statistics
first(): Compute first of group values
last(): Compute last of group values
nth() : Take nth value, or a subset if n is a list
min(): Compute min of group values
max(): Compute max of group values
4.2 apply()
apply()是对方法的调用。
如df.apply(np.sum)表示每一列调用np.sum方法,返回每一列的数值和。
df.apply(np.sum)
输出结果为:
A 0.495241
B 0.298531
C -1.087857
D 1.373762
dtype: float64
apply方法支持lambda表达式。
4.3 value_counts()
value_counts方法查看各行、列的数值重复统计。
我们重新生成一些整数数据,来保证有一定的数据重复。
领取专属 10元无门槛券
私享最新 技术干货