python数据分析和数据挖掘之pandas模块

一、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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球