pandas模块-数据拆分-异常值筛选-过滤
导入模块:
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
from numpy import nan as NA
# matplotlib做图模块
import matplotlib.pyplot as plt
# 处理中文正常显示
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
1.数据拆分(分割,切割)
(1)pd.cut() 根据区间,求数量。 结合 value_counts()
pd.cut(
x, //被分割的对象
bins, // 分箱可以是数字也可以是list-like的分箱
right: bool = True, //默认右边闭合
labels=None, //给每个区间取个别名
retbins: bool = False, //True ,返回一个区间数组
precision: int = 3, // 默认精确到小数点后3位
include_lowest: bool = False, //分割区间默认不包含最小值,True则包含
duplicates: str = ‘raise’,
ordered: bool = True,
)
准备一个数据 ,如 一堆年龄
bins = [18,40,60,100,801]
ages = [16,20,24,28,30,38,40,44,47,54,56,61,66,77,88,99,800]
(1.1)用value_counts
Series(ages).value_counts(bins=bins)
(1.2)用pd.cut()
pd.cut(ages,bins=bins)
pd.cut和value_counts()结合使用,dropna=True默认不保留NaN
pd.cut(ages,bins=bins).value_counts(dropna=False)
right参数,默认bins区间右闭合
pd.cut(ages,bins=bins,right=False)
labels 参数 ,给每个区间取个别名(好处是用值统计显示更直观)
pd.cut