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中pyc、 pyd文件及生成使用完整实例代码

    python中pyc、 pyd文件及生成使用完整实例代码

    这篇文章主要介绍了python中pyc、 pyd文件及生成使用的相关资料,重点讲解了如何使用Python解释器编译.py文件为.pyc文件,以及如何使用Cython和distutils工具将C/C++代码编译为.pyd文件,需要的朋友可以参考下
    2025-04-04
  • 基于Python实现一个PDF特殊字体提取工具

    基于Python实现一个PDF特殊字体提取工具

    在PDF文档处理场景中,我们常常需要针对特定格式的文本内容进行提取分析,本文介绍的"PDF特殊字体提取器"是一款基于Python开发的桌面应用程序感兴趣的小伙伴跟着小编一起来看看吧
    2025-03-03
  • Django基于Models定制Admin后台实现过程解析

    Django基于Models定制Admin后台实现过程解析

    这篇文章主要介绍了Django基于Models定制Admin后台实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python使用Tesseract OCR实现识别图片中的文字

    Python使用Tesseract OCR实现识别图片中的文字

    光学字符识别OCR是一项将图像中的文字转换为可编辑文本的技术,本文将详细介绍如何使用Python结合Tesseract OCR来实现图片中文字的识别,感兴趣的小伙伴可以了解下
    2025-11-11
  • 深入了解Python的类与模块化

    深入了解Python的类与模块化

    这篇文章主要介绍了Python中的面向对象编程范式以及模块化思想,并给出相应的实战示例及解释,对我们的学习和工作都有一定的价值,感兴趣的小伙伴可以了解一下
    2021-12-12
  • Django url 路由匹配过程详解

    Django url 路由匹配过程详解

    这篇文章主要介绍了Django url 路由匹配过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python numpy 常用函数总结

    Python numpy 常用函数总结

    Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。这篇文章主要介绍了Python numpy 常用函数总结,需要的朋友可以参考下
    2017-12-12
  • Python列表的深复制和浅复制示例详解

    Python列表的深复制和浅复制示例详解

    这篇文章主要给大家介绍了关于Python列表的深复制和浅复制的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python之Selenium自动化浏览器测试详解

    Python之Selenium自动化浏览器测试详解

    这篇文章主要为大家详细介绍了Python自动化浏览器测试,使用Selenium,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 使用opencv识别图像红色区域,并输出红色区域中心点坐标

    使用opencv识别图像红色区域,并输出红色区域中心点坐标

    这篇文章主要介绍了使用opencv识别图像红色区域,并输出红色区域中心点坐标,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论