Python Pandas读取Excel数据并查看数据特征的常见方法详解
前言
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 | 将特定值识别为NaN | na_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使用Tesseract OCR实现识别图片中的文字
光学字符识别OCR是一项将图像中的文字转换为可编辑文本的技术,本文将详细介绍如何使用Python结合Tesseract OCR来实现图片中文字的识别,感兴趣的小伙伴可以了解下2025-11-11


最新评论