一、pandas模块
pandas(Python Data Analysis Library)是基于numpy的数据分析模块,提供了大量标准数据模型和高效操作大型数据集所需要的工具,可以说pandas是使得Python能够成为高效且强大的数据分析环境的重要因素之一。它最主要的两个数据结构是series和DataFrame。本文主要介绍series的一些操作。
二、series命令及其相关功能介绍
Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型
pandas.Series( data, index, dtype, name, copy)
- data:一组数据(ndarray 类型)。
- index:数据索引标签,如果不指定,默认从 0 开始。
- dtype:数据类型,默认会自己判断。
- name:设置名称。
- copy:拷贝数据,默认为 False。
下面我将介绍pandas的series的方法:
方法功能描述pandas.series(list,index=[])创建值S1.value查看值S1[‘index值’]查看索引index值S1[条件]根据索引取值S.to_dict()把series转换成字典输出pandas.isnull(S1)判断series的元素是否为空值S1.name=’字符’给series赋予名字S1.index.name=’demo_index’给索引取名字series.isnull()判断某个列表中是否含有空值series.is_unique判断某个系列中的值是否存在重复series.value_counts()统计某个系列里某个元素的出现次数
三、数据框的语法及其功能描述
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
pandas.DataFrame( data, index, columns, dtype, copy)
- data:一组数据(ndarray、series, map, lists, dict 等类型)。
- index:索引值,或者可以称为行标签。
- columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
- dtype:数据类型。
- copy:拷贝数据,默认为 False。
下面我将介绍pandas的DataFrame的方法:
语句功能描述pandas。FDataFrame(data,columns=[],index=[])创建数据框pd.read_csv()将CSV文件的数据导入到内存中,快速构建数据库pd.concat()按横向或纵向合并两个pandas数据结构pd.get_dummies()将类别变量转变为独热编码DataFrame.mean()按行或按列计算平均值DataFrame.dropna()删除所有缺失数据的行或列DataFrame.drop_duplicates删除所有重复的行DataFrame.head()默认返回数据框中前五行DataFrame.tail()默认返回数据框中最后五行
四、pandas的CSV文件
CSV(Comma-Separated Values,逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。
函数描述read_csv(path)读取CSV文件to_string()将文件变成字符流to_csv()将其他数据结构转成CSV文件head(n)读取前面的 n 行,如果不填参数 n ,默认返回 5 行tail( n )用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行info()返回表格的一些基本信息
五、pandas的json
JSON(JavaScript Object Notation,JavaScript 对象表示法),是存储和交换文本信息的语法,类似 XML。
函数描述read_json()读取json文件to_string()将文件变成字符流json_normalize()将内嵌的数据完整的解析出来
六、## pandas数据清洗
函数描述例程cat函数主要用于字符串的拼接df[“姓名”].str.cat(df[“家庭住址”],sep=’-‘3)contains函数主要用于判断某个字符串是否包含给定字符df[“家庭住址”].str.contains(“广”)startswith函数主要用于判断某个字符串是否以…开头df[“姓名”].str.startswith(“黄”)endswith函数主要用于判断某个字符串是否以…结尾df[“英文名”].str.endswith(“e”)endswith函数主要用于计算给定字符在字符串中出现的次数df[“电话号码”].str.count(“3”)get函数主要用于获取指定位置的字符串df[“姓名”].str.get(-1)len函数主要用于计算字符串长度df[“性别”].str.len()upper函数主要用于英文大小写转换df[“英文名”].str.upper()lower函数主要用于英文大小写转换df[“英文名”].str.lower()pad+side参数/center函数主要用于在字符串的左边、右边或左右两边添加给定字符df[“家庭住址”].str.center(10,fillchar=”“)repeat函数主要用于重复字符串几次df[“性别”].str.repeat(3)slice_replace函数主要用于使用给定的字符串,替换指定的位置的字符df[“电话号码”].str.slice_replace(4,8,”“4)replace函数主要用于将指定位置的字符,替换为给定的字符串df[“身高”].str.replace(“:”,”-“)split方法+expand参数主要用于将一列扩展为好几列df[[“身高描述”,”final身高”]] = df[“身高”].str.split(“:”,expand=True)strip、rstrip、lstrip函数主要用于去除空白符、换行符df[“姓名”] = df[“姓名”].str.strip()extract、extractall函数主要用于接受正则表达式,抽取匹配的字符串(一定要加上括号)df[“身高”].str.extractall(“([a-zA-Z]+)”)
如果我们要删除包含空字段的行,可以使用 dropna() 方法,语法格式如下:
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
- axis:默认为 0,表示逢空值剔除整行,如果设置参数 axis=1 表示逢空值去掉整列。
- how:默认为 ‘any’ 如果一行(或一列)里任何一个数据有出现 NA 就去掉整行,如果设置 how=’all’ 一行(或列)都是 NA 才去掉这整行。
- thresh:设置需要多少非空值的数据才可以保留下来的。
- subset:设置想要检查的列。如果是多个列,可以使用列名的 list 作为参数。
- inplace:如果设置 True,将计算得到的值直接覆盖之前的值并返回 None,修改的是源数据。
Pandas使用 mean()、 median() 和 mode() 方法计算列的均值(所有值加起来的平均值)、中位数值(排序后排在中间的数)和众数(出现频率最高的数)。
数据格式错误的单元格会使数据分析变得困难,甚至不可能。我们可以通过包含空单元格的行,或者将列中的所有单元格转换为相同格式的数据。
数据错误也是很常见的情况,我们可以对错误的数据进行替换或移除。
如果我们要清洗重复数据,可以使用 duplicated() 和 drop_duplicates() 方法。如果对应的数据是重复的, duplicated() 会返回 True,否则返回 False。
Original: https://blog.csdn.net/m0_43405302/article/details/121013440
Author: 绝域时空
Title: python数据分析和数据挖掘之pandas模块
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/754249/
转载文章受原作者版权保护。转载请注明原作者出处!