目录:
- 缺失值处理/替换
- 数据离散化
- 合并
- 交叉表与透视表
- 分组与聚合
1. 缺失值处理
- data.dropna()
删除np.nan的缺失值
按照行去删除,可以指定axis - data['a'].fillna(data['a'].mean(), inplace = True)
填充平均值 - df.replace(to_replace=, value= )
思路:先替换为nan,再做上述处理
pandas很多操作不会修改原来的值,要去接收
2. 数据离散化
连续属性的离散化就是将连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数值代表落在每个子区间中的属性值。
- pd.qcut()
对数据进行分组,一般与value_counts搭配使用,统计每组个数 - series.value_counts() 统计分组次数
datad = pd.qcut(data['gupiao1'],19)
datad.value_counts()
- pd.cut(data['gupiao1'],bins)
可以用bins自定义分组区间 - pd.get_dummies(data['gupiao1'], prefix = "rise")
变成哑变量矩阵
3. 合并
- pd.concat([data1, data2], axis=1)
按照行进行合并(axis=0,按照列进行合并) - pd.merge(left, right, how="inner", on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=(),copy=True, indicator=False, validate=None)
可以指定按照两组数据的共同建值对合并或者左右各自 - pd.join() 与merge相似
4. 交叉表与透视表
- pd.crosstab(value1, value2)
计算两列之间的关系 - pd.pivot_table([], index=[])
通过透视表,将整个过程变得简单一些
5. 分组与聚合
- DataFrame.groupby(key, as_index = False)
key: 分组的列数据,可以多个
as_index:指定不去改变原来数据的结构
Starbucks.groupby("Country").count()['Brand'].plot(kind='bar')
网友评论