数据分析-数据预处理

数据分析-数据预处理

处理重复值

duplicated( )查找重复值

python 复制代码
import pandas as pd
a=pd.DataFrame(data=[['A',19],['B',19],['C',20],['A',19],['C',20]],
               columns=['name','age'])
print(a)
print('--------------------------')
a=a.duplicated()
print(a)

只判断全局不判断每个

any()

python 复制代码
import pandas as pd
a=pd.DataFrame(data=[['A',19],['B',19],['C',20],['A',19],['C',20]],
               columns=['name','age'])
print(a)
print('--------------------------')
a=any(a.duplicated())
print(a)

drop_duplicates( )删除重复值

参数inplace 是否在原数据上修改

python 复制代码
import pandas as pd
a=pd.DataFrame(data=[['A',19],['B',19],['C',20],['A',19],['C',20]],
               columns=['name','age'])
print(a)
print('--------------------------')
b=a.drop_duplicates(inplace=False)
a.drop_duplicates(inplace=True)
print(a)
print('--------------------------')
print(b)

处理缺失值

NaN表示缺失值

python 复制代码
import pandas as pd
a=pd.read_csv(r'text.csv')
print(a)

isnull( )判断所有位置元素是否缺失

python 复制代码
import pandas as pd
a=pd.read_csv(r'text.csv')
print(a.isnull())

any( )判断行列元素是否缺失

python 复制代码
import pandas as pd
a=pd.read_csv(r'text.csv')
print(a.isnull().any())
print(a.isnull().any(axis=1))

del( )dropna( )删除

python 复制代码
import pandas as pd
a=pd.read_csv(r'text.csv')
del a['name']
print(a)
python 复制代码
import pandas as pd
a=pd.read_csv(r'text.csv')
b=a.dropna(axis=0)
print(b)
c=a.dropna(axis=1)
print(c)

del( )删除指定列,dropna( )删除含有缺失值的列(行)

fillna( )缺失值填补

python 复制代码
import pandas as pda=pd.read_csv(r'text.csv')a=a.fillna('wu')print(a)

根据上(下)数据填充

pad / ffill: 按照上一行进行填充

backfill / bfill: 按照下一行进行填充

python 复制代码
import pandas as pda=pd.read_csv(r'text.csv')print(a)print('---------------------')b=a.fillna(method='pad')print(b)print('---------------------')c=a.fillna(method='bfill')print(c)

数值型数据填充

平均值mean()

每列的平均值填充

python 复制代码
import pandas as pda=pd.read_csv(r'text.csv')
print(a)
print('---------------------')
a=a.fillna(a.mean())
print(a)

中位数median( )

python 复制代码
import pandas as pd
a=pd.read_csv(r'text.csv')
print(a)print('---------------------')
a=a.fillna(a.median( ))
print(a)

字符型数据填充

众数mode( )

python 复制代码
import pandas as pd
a=pd.read_csv(r'text.csv')
print(a)
print('---------------------')
for i in a.columns:
    a[i] = a[i].fillna(a[i].mode()[0])
    print(a)

数据变换

map( )数据转换

python 复制代码
import pandas as pd
data={'sex':[1,0,1,1,0]}
a=pd.DataFrame(data)
a['sex-T']=a['sex'].map({1:'男',0:'女'})
print(a)

哑变量

python 复制代码
import pandas as pd
data={'sex':['男','女','男','女','保密']}
a=pd.DataFrame(data)
a=pd.get_dummies(a)
print(a)
相关推荐
kngines3 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】3.3 异常值识别(Z-score法/IQR法/业务规则法)
数据库·postgresql·数据分析·z-score法·iqr法·业务规则法
kngines7 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】3.1 数据质量评估指标(完整性/一致性/准确性)
数据库·postgresql·数据分析·值域校验·类型校验
kngines8 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】6.2 预测分析基础(线性回归/逻辑回归实现)
postgresql·数据分析·逻辑回归·线性回归·roc曲线·z-score
kngines11 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.4 数据抽样(简单随机抽样/分层抽样)
数据库·postgresql·数据分析·分层抽样·简单抽样·neyman 分配法·tablesample
kngines12 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.3 相关性分析(PEARSON/SPEARMAN相关系数)
数据库·postgresql·数据分析·spearman·pearson·实证分析·异常值影响分析
kngines13 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.2 数据分组与透视(CUBE/ROLLUP/GROUPING SETS)
数据库·postgresql·数据分析·rollup·grouping·cube
CoderJia程序员甲14 小时前
PandasAI:对话式数据分析新时代
ai·数据挖掘·数据分析·pandas·deepseek
kngines14 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.1 描述性统计分析(均值/方差/分位数计算)
均值算法·postgresql·数据分析·var_samp·stddev_samp·总体统计·数据分位数
程序员阿龙14 小时前
基于机器学习算法预测二手车市场数据清洗与分析平台(源码+定制+讲解) 基于Python的数据挖掘与可视化 二手车数据处理与分析系统开发 (机器学习算法预测)
大数据·python·数据挖掘·spark·机器学习模型·二手车价格预测
做科研的周师兄14 小时前
邮件分类特征维度实验分析
人工智能·分类·数据挖掘