| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 数据分析中的数据处理以及特征分析 -> 正文阅读 |
|
[人工智能]数据分析中的数据处理以及特征分析 |
主要讲述在数据处理及特征分析中利用到的pandas库中的功能,该文以Datawhale提供的资料以及网络搜集的资源整理而成,如有错误欢迎指正。 目录 ?一.查看空缺的数值所在的位置方法一
方法二 作用为给出所有的列名,并在后显示各列的空值个数
?二.对缺失值进行处理1.判断缺失值方法1:is的判断速度要快于==,适用于数值,字符串等简单的结构,像列表,元组等复杂些的则无法判断
方法 2:判断数据是否为NAN,为缺失值返回True,否则为False,比上述is判断范围更大
?方法3:此判断方法比上述两种更具优势,能够判断数据类型为float64
2.处理缺失值方法1:删除
?用法dropna()删除所有存在缺失值的行 dropna(axis='columns')删除所有存在缺失值的列? dropna(how='all')删除缺失所有值的行? dropna(thresh=2)删除最少缺失两个值的行? dropna(subset=['列名', '列名'])删除缺失该任一列名下的值的行? dropna(inplace=True)将具有有效条目的数据帧保留在同一变量中,与第一相似 方法2:替换
用法?fillna(0)将所有的NaN替换为0 # fillna(method="ffill")将NaN替换为其前方非空值中的元素? values = {"列名": 替换成的值} ,?df.fillna(value=values)? 完成对应列空值的替换 ? fillna(value=values, limit=1),仅替换第一行的NaN? df2 = pd.DataFrame(np.zeros((行数, 列数)), columns=list("列名")),? df.fillna(df2) df2中的值会替代df的相同位置且为NaN,位置相同为列名相同和所在行数相等 三.重复值观察与处理1.查看数据中的重复值
用法df.duplicated()默认情况下,对于每组重复值,第一个匹配项设置为 False,所有其他值都设置为 True。 #df.duplicated(keep='last')通过使用“last”,每组重复值的最后一次出现设置在 False 上,所有其他值都设置为 True。 df.duplicated(keep=False)通过设置 False,所有重复项均为 True? df.duplicated(subset=['列名'])要查找特定列上的重复项 2.对重复值经行处理
四.?特征观察与处理1.列如对年龄进行分箱(离散化)处理方法一、将连续变量Age平均分箱成5个年龄段,并分别用类别变量12345表示
用法pd.cut(数组(必须是一维的),分组数,labels=['分组名称']) 方法二、将连续变量Age划分为(0,5] (5,15] (15,30] (30,50] (50,80]五个年龄段,并分别用类别变量12345表示
?方法三、将连续变量Age按10% 30% 50 70% 90%五个年龄段,并用分类变量12345表示
五.对文本变量进行转换1.?查看类别文本变量名及种类?value_counts
?DataFrame.value_counts(subset=None, normalize=False, sort=True, ascending=False, dropna=True) subset:对唯一组合进行计数时要使用的列 normalize:返回比例而不是频率 sort:按频率排序 ascending:按升序排序 dropna:不要包含包含 NA 值的行计数 2.将类别文本转换为12345方法一: replace
?用法:将['male','female'],替换成[1,2] 通过replace({0:10,1:100})可以将列表中的所有0替换成10,1替换成100 ?replace({'列名': 0, '列名': 5}, 100)将特定列名的0,5替换成100? replace({'列名': {0: 100, 4: 400}})将特定列中的0替换成100,将4替换成400 ?df.replace(regex=r'^”特征“.$', value='目标')将具有包含“特征”的元素替换成‘目标’ ?replace({'A': r'^ba.$'}, {'A': 'new'}, regex=True)作用同上但有列的范围 方法二:map
3.?将类别文本转换为one-hot编码OneHotEncoder
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:42:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |