Python Pandas读取Excel数据并查看数据特征的常见方法详解

 更新时间:2026年04月17日 09:37:40   作者:一位代码  
这篇文章主要为大家详细介绍了如何使用pandas读取Excel数据后,通过DataFrame属性和方法查看数据基本情况的操作,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

前言

pandas 读取数据后,以 DataFrame 数据结构存储在内存中,可以通过 DdataFrame 自带的属性和方法对数据的大小、类型、分布、摘要等基本情况,进行查看。

本文以读取 Excel 文件数据为以下示例数据:

import pandas as pd

df = pd.read_excel('zpxx.xlsx')

常用读取参数

参数说明示例
sheet_name指定工作表名称或索引sheet_name='Sheet1' 或 sheet_name=0
header指定哪一行作为列名header=0(默认第一行)
usecols读取指定列usecols=['A','C'] 或 usecols='A:C'
nrows读取前N行nrows=100
skiprows跳过前N行skiprows=2
dtype指定列的数据类型dtype={'id': str, 'amount': float}
na_values将特定值识别为NaNna_values=['-', 'N/A']

一、获取数据形状(行列数)

df.shape:返回几行几列(行,列),元组格式,如:(395, 23)。

可结合 len() 函数分别获取行数和列数:

行数:len(df),列数:len(df.columns)

print('数据的形状:', df.shape)
print('数据的行数', len(df))
print('数据的列数:', len(df.columns))

二、获取数据类型

pandas 数据类型指的是某一列所有数据的共性,默认数值型数据类型为 int64 或 float64,文本类型为 object。

df.dtypes:查看所有列的数据类型

df.列名.dtype:查看指定列的数据类型

df.dtypes.value_counts():各个数据类型的列数(字段个数)

python、numpy、pandas数据类型对比:

三、获取数据摘要

df.info() 函数,获取数据集摘要,语法如下:

DataFrame.info(verbose=None,buf=None, max_cols=None, memory_usage=None, null_counts=None)
常用参数释义
verbose该参数决定是否打印完整的摘要。如果为True,显示所有列的信息;如果为False,那么会省略一部分。
null_counts该参数决定是否显示非空计数。值为True始终显示计数,而值为False则不显示计数。
memory_usage该参数决定是否应显示DataFrame元素(包括索引)的总内存使用情况。默认情况下为True。True始终显示内存使用情况,False不会显示内存使用情况。

示例:显示数据的简要摘要。

print(df.info(verbose=False))  # 简要摘要

结果包括:行数(RangeIndex)、列数(Columns)、各个数据类型的列数(dtypes)等信息。

四、数据描述性统计

describe() 函数用于生成描述性统计信息,语法如下:

DataFrame.describe (percentiles=None, include=None,exclude=None)

描述性统计数据:

一是:数值型数据,则包括均值、标准差、最大值、最小值、四分位数等;

二是:非数值型数据,则包括类别的个数、最高数量的类别及出现次数等。

参数释义
percentiles该参数决定要包含在输出中的百分位数。所有值都应介于0和1之间。默认值为[.25,.5,.75],它返回第25、50和75个百分位数。
include该参数决定要包含在结果中的数据类型的白名单。‘all’:所有列将包含在输出中。dtypes的列表:将结果限制为提供的数据类型。默认情况下, 只统计数值类型数据。
exclude该参数决定要从结果中忽略的数据类型的黑名单。dtypes的列表:从结果中排除提供的数据类型。默认情况下, 结果将不排除任何内容。

示例:不加任何参数,默认为只统计数值类型数据,包括均值、标准差、最大值、最小值、四分位数等。

print(df.describe()) # 描述性统计信息,默认只是数字列

如果需要查看所有列的数据统计,可以加入参数:include='all'

print(df.describe(include='all')) # 所有列

五、查看数据元素个数

df.size:数据中元素的个数,指的是数据的行数(395)乘以数据的列数(25)

print('表的元素个数::', df.size)

六、查看数据的维度

df.ndim:DataFrame 是一种二维表格型数据的结构,既有行索引,也有列索引。

print('表的维度数:', df.ndim)

七、数据转置

df.T:T属性可以实现DataFrame的转置(行列转换)

print('表转置后形状:', df.T.shape)

八、查看数据的基本统计特征

描述统计(数值列)

# 基础描述统计:count, mean, std, min, 25%, 50%, 75%, max
df.describe()
# 包含百分位数
df.describe(percentiles=[.1, .2, .5, .9])
# 包含所有列(包括object类型)
df.describe(include='all')
# 只包含数值列
df.describe(include=[np.number])
# 只包含对象列
df.describe(include=['object'])

单个统计值

# 平均值
df.mean()
# 中位数
df.median()
# 标准差
df.std()
# 最小值/最大值
df.min()
df.max()
# 求和
df.sum()
# 计数(非空)
df.count()

九、查看缺失值情况

统计缺失值数量

# 每列缺失值数量
df.isnull().sum()
# 每列缺失值占比
df.isnull().sum() / len(df) * 100
# 总缺失值数量
df.isnull().sum().sum()
# 缺失值占比超过30%的列
missing_ratio = df.isnull().sum() / len(df)
high_missing_cols = missing_ratio[missing_ratio > 0.3].index

可视化缺失值(需要matplotlib)

import matplotlib.pyplot as plt
# 绘制缺失值热力图
plt.figure(figsize=(12, 6))
plt.imshow(df.isnull(), aspect='auto', cmap='gray')
plt.colorbar(label='Missing')
plt.title('Missing Values Heatmap')
plt.show()

处理缺失值建议

方法适用场景
df.dropna()删除包含缺失值的行/列
df.fillna(value)用固定值填充
df.fillna(method='ffill')用前一个值填充
df.interpolate()插值填充

到此这篇关于Python Pandas读取Excel数据并查看数据特征的常见方法详解的文章就介绍到这了,更多相关Python Pandas读取Excel数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python内存管理机制原理详解

    python内存管理机制原理详解

    这篇文章主要介绍了python内存管理机制原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python 中Pickle库的使用详解

    Python 中Pickle库的使用详解

    pickle是python语言的一个标准模块,安装python后已包含pickle库,不需要单独再安装。这篇文章主要介绍了Python 中Pickle库的使用详解,需要的朋友可以参考下
    2018-02-02
  • 浅谈python数据类型及其操作

    浅谈python数据类型及其操作

    今天带大家了解python数据类型的相关知识,文中介绍的非常详细,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Django 登陆验证码和中间件的实现

    Django 登陆验证码和中间件的实现

    这篇文章主要介绍了Django 登陆验证码和中间件的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Python利用sqlacodegen自动生成ORM实体类示例

    Python利用sqlacodegen自动生成ORM实体类示例

    这篇文章主要介绍了Python利用sqlacodegen自动生成ORM实体类,结合实例形式分析了Python sqlacodegen安装技巧ORM实体类相关实现技巧,需要的朋友可以参考下
    2019-06-06
  • python画图常见不同图片格式保存方式

    python画图常见不同图片格式保存方式

    这篇文章主要介绍了python画图常见不同图片格式保存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • mac系统下Redis安装和使用步骤详解

    mac系统下Redis安装和使用步骤详解

    这篇文章主要介绍了mac下Redis安装和使用步骤详解,并将python如何操作Redis做了简单介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 浅谈Pycharm调用同级目录下的py脚本bug

    浅谈Pycharm调用同级目录下的py脚本bug

    今天小编就为大家分享一篇浅谈Pycharm调用同级目录下的py脚本bug,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python Dataframe 指定多列去重、求差集的方法

    Python Dataframe 指定多列去重、求差集的方法

    今天小编就为大家分享一篇Python Dataframe 指定多列去重、求差集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python中的json模块常用方法汇总

    python中的json模块常用方法汇总

    这篇文章主要介绍了python中的json模块常用方法汇总,json模块可以实现json数据的序列化和反序列化,更多相关资料介绍需要的小伙伴可以参考一下下面文章内容
    2022-06-06

最新评论