数据分析-数据预处理

数据分析-数据预处理

处理重复值

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)
相关推荐
benchmark_cc6 小时前
本地已有一年历史 K 线,第二天更新别只拉“昨天一天”
python·数据分析·pandas·量化交易·股票数据·quantdash
智圣新创017 小时前
锚定省级示范高职育人评价核验要求 第二课堂数字化落地全场景高频答疑
信息可视化·数据挖掘·数据分析
派小心.7 小时前
热力图工具的多页面管理功能怎么比?
前端·数据分析
估值探索者1 天前
【Python量化系统工程实战 #08】从脚本到生产:量化系统上线 checklist 的最小闭环
java·开发语言·jvm·python·数据挖掘·数据·股票数据api接口
卷毛迷你猪1 天前
快速实验篇(B17)B组实验总结报告:电商用户行为数据分析的完整实践
数据挖掘·数据分析
用户7783366132111 天前
前端本地存搜索数据:IndexedDB 入门实战(缓存、历史、离线)
数据挖掘·indexeddb
wang_yb1 天前
什么是范数?用 NumPy 动手算一遍就明白了
数据分析·databook
YangYang9YangYan1 天前
2027 届校招|大数据管理与应用专业投递供应链管培,数据分析能力考察逻辑拆解
数据挖掘·数据分析
卷毛迷你猪2 天前
快速实验篇(B16)用户级预测可行性审计(否定性意见)
大数据·hadoop·数据挖掘·聚类
正在走向自律2 天前
AI数据分析与可视化:从基础到应用实践
服务器·人工智能·python·机器学习·数据分析·pandas