| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Pandas数据清洗总结 -> 正文阅读 |
|
[人工智能]Pandas数据清洗总结 |
# 导入import numpy as np import pandas as pd # 查看版本pd.__version__ 文本文件的读取: 对于csv或txt后缀的文本文件,用read_csv函数来实现文件的导入。重要参数的含义如下 pd.read_csv(file_path_or_buffer, #指定导入文件的具体路径 sep = ', ', # 指定元数据中各种变量之间的分割符,默认是逗号,可自行修改 header='infer' , #默认将数据集首行作为表头(列名),若原数据集无表头则设置为header=None names=None, # 若原数据集中无变量名称 , 可通过该参数在数据读取时设定 index_col = None, # 指定将某些行作为行索引 usecols = None, # 指定需要读取的变量名 converters = None , # 通过字典格式,为数据集中的某些变量设置不同的数据 skiprows = None, # 数据读取时,指定需要跳过原数据集的起始行数 skipfooter = 0, # 读取数据时,指定需要跳过原数据集的末尾行数 nrows = None, # 指定数据读取的行数 comment = None,# 指定注释符,读取数据时遇到行首指定的注释符则跳过该行 encoding = None, # 设置编码方式,解决中午乱码问题 (通常设置为utf-8或给gbk)) 数据读取进来之后形成的表格在pandas中称为DataFrame,这是一个带有索引的二维数据结构,每一行都有索引,数据读取进来的时候会生成从0开始的整数索引 pd.read_excel() 读取xls、xlsx后缀的excel电子表格数据 和read_csv一样 # 数据探索df.head() # 查看导入数据的前五行? # df.head(10)? 看前十行 df.tail(7) # 查看数据的后七行 df.shape # 查看数据的规模 df.index # 查看数据的行索引 df.columns # 查看数据列名 df.info() # 查看整体信息 df.describe() # 进行简单描述统计? df.isnull() # 查看数据集是否有缺失值 df.isnull().sum() # 对缺失值进行统计 每一个列里面的缺失值都会出来 df.isnull().sum(axis=1) # 对每一行的缺失值统计? axis=1行? axis=0列 df.duplicated() # 查看数据集是否有重复值 # 数据选取 提取某列 df["gender"] 注意 提取出来的单列或者单行是另一种数据类型 series 也是带有名称和索引的一维数组 提取行 df[5:11] 左闭右开 5到10行 基于标签的索引 loc? l为label? 没有左闭右开 直接提取5到10行 df.loc[5:10, ['name', ['age'], ['custom_amt']]]? # 提取五到十行并返回姓名年龄交易额散列 df1 = df.set_index('name')?? # 将name这一列作为索引 df1.loc['姓名', :] 读取这位用户的全部信息 df.loc[df['age']<20, :] 提取出所有年龄小于20的信息 基于位置的索引 iloc df.iloc[0:5, 0:3] # 提取前五行前三列的数据 #随机抽样 df.sample(n=None,? # 指定抽样的数量,默认为1 ? ? ? ? ? ? ? ? frac=None, # 按比例进行抽样 ? ? ? ? ? ? ? ? replace=False, # 是否允许抽样样本数量高于数据集的数量 ? ? ? ? ? ? ? ? weights=None, # 样本权重 ? ? ? ? ? ? ? ? random_state=None, # 随机数种子 ? ? ? ? ? ? ? ? axis = None, # 对行采样还是对列采样,默认对行采样) 新增一列 df2.loc[: , "权重"]=W w是一个列表 PREVIOUS_MAX_ROW = pd.options.display.max_rows pd.options.display.max_rows = 20? # 设置显示最大行 np.random.seed(12345) 处理缺失值? NaN: Not a Number NA:Not available isnull() 判断是否为缺失值 data.dropna()? ?dropna要用一个新的变量保存 原变量是不会变的 data.fillna(0)? 填充缺失值 df.fillna({1:0.5, 2:0}) 第一列填充0.5 第二列填充0 删除重复值 data.duplicated() 判断之前是否出现过 data.drop_duplicates() 删除重复值 data.drop_duplicate(['列名'], keep='last') 删除某一列重复值 保留最后一个 ???????????????? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 10:30:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |