pandas速学——常用函数

news/2025/2/1 16:49:18/

一、读取数据

pd.read_csv(filename)	读取 CSV 文件;
pd.read_excel(filename)	读取 Excel 文件;
pd.read_sql(query, connection_object)	从 SQL 数据库读取数据;
pd.read_json(json_string)	从 JSON 字符串中读取数据;
pd.read_html(url)	从 HTML 页面中读取数据。

读取数据这块比较简单,读什么在read后面加上什么即可。可读文件类型:csv,Excel,SQL,json,html。

二、查看数据


函数	说明
df.head(n)	显示前 n 行数据;
df.tail(n)	显示后 n 行数据;
df.info()	显示数据的信息,包括列名、数据类型、缺失值等;
df.describe()	显示数据的基本统计信息,包括均值、方差、最大值、最小值等;
df.shape	显示数据的行数和列数。

这里的方法应该都不会改变df,应该也可以起到初步筛选数据的作用。

前面我们没有提到过的有:describe(),显示统计信息;shape()显示数据的行数与列数。

三、数据清洗


函数	说明
df.dropna()	删除包含缺失值的行或列;
df.fillna(value)	将缺失值替换为指定的值;
df.replace(old_value, new_value)	将指定值替换为新值;
df.duplicated()	检查是否有重复的数据;
df.drop_duplicates()	删除重复的数据。

dropna()和fillna()以及dup*()二兄弟在前面的数据清洗篇有介绍,注意记忆参数使用即可。

replace()是没有提到过的,注意参数,前一个是老值,后一个是新值。

四、数据选择与切片

df[column_name]选择指定的列;
df.loc[row_index, column_name]通过标签选择数据;
df.iloc[row_index, column_index]通过位置选择数据;
df.ix[row_index, column_name]通过标签或位置选择数据;
df.filter(items=[column_name1, column_name2])选择指定的列;
df.filter(regex='regex')选择列名匹配正则表达式的列;
df.sample(n)随机选择 n 行数据。

df实际上可以理解为value为一个有序序列的字典结构,此时key为列名,value为列值,index索引为行,因此直接df[column_name]是可以把列值取出来的。

以上函数不再详述。loc,iloc,ix可以归类记忆。

选择指定的列,方法:filter(items = 列名序列)

列名匹配正则表达式进行筛选:filter(regex=‘regex’)

sample(n):随机选择 n 行数据

五、数据排序

按照指定列值排序:df.sort_values(column_name)
按照多个列值排序:df.sort_values(column_name1, column_name2], ascending=[True, False])
按照索引排序:df.sort_index()

六、数据分组和聚合

df.groupby(column_name)按照指定列进行分组;
df.aggregate(function_name)对分组后的数据进行聚合操作;
df.pivot_table(values, index, columns, aggfunc)

生成透视表。

ps:看到这里,pandas对数据的一些处理操作和SQL有类似哈。

七、数据合并

# 将多个数据框按照行或列进行合并
df = pd.concat([df1, df2])# 按照指定列将两个数据框进行合并
df = pd.merge(df1, df2, on='column_name')

八、数据选择和过滤

df.loc[row_indexer, column_indexer]	按标签选择行和列。
df.iloc[row_indexer, column_indexer]	按位置选择行和列。
df[df['column_name'] > value]	选择列中满足条件的行。
df.query('column_name > value')	使用字符串表达式选择列中满足条件的行。

九、数据统计与描述

df.describe()计算基本统计信息,如均值、标准差、最小值、最大值等。
df.mean()计算每列的平均值。
df.median()计算每列的中位数。
df.mode()计算每列的众数。
df.count()计算每列非缺失值的数量。

均值:mean()

中位数:median()

众数:mode()

计算非空值数量:count()


http://www.ppmy.cn/news/223282.html

相关文章

oracle11 css 启动,oracle 11g CSS 和OCR 的恢复

查看当前表决磁盘文件列表 [gridvmac1 ~]$ crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 458f802427764f59bfc6f6f356e74f5c (/dev/asm-di…

Oracle11g服务详细介绍

Oracle11g服务详细介绍及哪些服务是必须开启的? Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的…

bzoj2023/1630

沉迷文化无法自拔&#xff08;划掉&#xff09; 分析&#xff1a;dp加上前缀和乱搞。 搞了个月榜rank2 &#xff0c;不知道rank1怎么刷的&#xff0c;是不是停课了。。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> …

redhat 7.9 安装oracle 11g-11.2.0.4

redhat 7.9 安装oracle 11g-11.2.0.4 0、本实验涉及的操作系统镜像文件、数据库安装包、SQL Developer安装包做如下分享0.1、操作系统镜像文件0.2、数据库安装包0.3、SQL Developer安装包 1、数据库安装文档1.1、查看oracle 11g 适合安装的linux版本1.2、安装文档1.3、license种…

CF1630B Range and Partition

首先看到最小化 y − x y-x y−x 这个玩意&#xff0c;果断二分 y − x y-x y−x&#xff0c;显然假如区间更长合法&#xff0c;那么更短一定也合法&#xff0c;然后再枚举 x x x 进而得到 [ x , y ] [x,y] [x,y]&#xff0c;接下来的事情就是要判断某一个区间 [ x , y ] …

Oracle11g服务详细介绍及哪些服务是必须开启的?

Oracle11g服务详细介绍及哪些服务是必须开启的&#xff1f; Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务&#xff0c;VSS&#xff08;Volume Shadow Copy Service&#xff09;能够让存储基础设备&#xff08;比如磁盘&#xff0c;阵列等&#xff09;创建高保真的…

java mp3转g722_ITU 的G722.1编码器

ITU 的G722.1编码器 c 2021-1-11 下载地址 https://www.codedown123.com/60505.html ITU 的G722.1编码器&#xff0c;包含Annex C&#xff0c;是当前复杂度最低的编码器&#xff0c;并且压缩质量非常好&#xff0c;适合高并发voip使用&#xff0c;实测单i5cpu可以支持3000路以上…

aix 7.1 oracle 10g,安装oracle10g for aix

1、确认系统结构是否为64位&#xff1a; # su - root # getconf HARDWARE_BITMODE 64 2、确认物理内存大小&#xff1a; # lsattr -E -l sys0 -a realmem realmem 1048576 Amount of usable physical memory in Kbytes False 3、确认交换空间大小&#xff1a; # lsps -a Page S…