8.1 数据基本信息查看
Pandas数据基本信息查看方法详解 - 新手入门指南
本章节详细讲解了Pandas中查看数据基本信息的方法,包括使用shape和info查看数据结构、describe进行统计描述、head和tail查看前后行数据,以及columns和index查看列名与行索引。适合数据分析新手快速上手,代码示例简单易懂。
数据基本信息查看
在数据分析中,了解数据的基本信息是至关重要的一步。Pandas提供了多种方法来帮助我们快速查看数据的结构、统计信息、样本行以及列名和行索引。本章节将为你详细介绍这些方法,并通过示例代码演示如何使用。
引言
当我们加载或创建了一个Pandas DataFrame后,首先需要了解数据的基本情况,比如数据的大小、列的类型、是否有缺失值等。这有助于我们后续的数据清洗、分析和建模。本节将涵盖以下核心方法:
- shape 和 info 方法:查看数据结构和列信息。
- describe 方法:生成数据的统计描述。
- head 和 tail 方法:查看数据的前后几行。
- columns 和 index 属性:获取列名和行索引。
我们将使用一个简单的DataFrame作为示例,以便于理解。首先,导入Pandas并创建数据。
import pandas as pd
# 创建一个示例DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'Age': [25, 30, 35, 40, 45],
'Salary': [50000, 60000, 70000, 80000, 90000],
'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou']
}
df = pd.DataFrame(data)
print("示例DataFrame:")
print(df)
输出:
示例DataFrame:
Name Age Salary City
0 Alice 25 50000 Beijing
1 Bob 30 60000 Shanghai
2 Charlie 35 70000 Guangzhou
3 David 40 80000 Shenzhen
4 Eve 45 90000 Hangzhou
1. 查看数据结构
shape 方法
shape 方法返回DataFrame的形状,即行数和列数。它以一个元组的形式输出,例如 (行数, 列数)。
# 使用shape查看数据结构
print("数据形状:")
print(df.shape)
输出:
数据形状:
(5, 4)
这表示DataFrame有5行和4列。
info 方法
info 方法提供关于DataFrame的详细信息,包括列名、数据类型、非空值数量以及内存使用情况。
# 使用info查看数据信息
print("数据信息:")
df.info()
输出:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Name 5 non-null object
1 Age 5 non-null int64
2 Salary 5 non-null int64
3 City 5 non-null object
dtypes: int64(2), object(2)
memory usage: 292.0+ bytes
- RangeIndex: 表示行索引范围是从0到4。
- 列信息: 每列显示了列名、非空值数量(这里都是5,没有缺失值)和数据类型(如object表示字符串,int64表示整数)。
- 内存使用: 显示了DataFrame占用的内存大小。
2. 查看数据统计描述
describe 方法
describe 方法生成数据的统计摘要,如计数、均值、标准差、最小值、四分位数和最大值。它会根据数据类型(数值型或对象型)自动调整输出。
# 使用describe查看统计描述
print("数值列的统计描述:")
print(df.describe())
print("\n所有列的统计描述(包括对象列):")
print(df.describe(include='all'))
输出:
数值列的统计描述:
Age Salary
count 5.000000 5.000000
mean 35.000000 70000.000000
std 7.905694 15811.388301
min 25.000000 50000.000000
25% 30.000000 60000.000000
50% 35.000000 70000.000000
75% 40.000000 80000.000000
max 45.000000 90000.000000
所有列的统计描述(包括对象列):
Name Age Salary City
count 5 5.000000 5.000000 5
unique 5 NaN NaN 5
top Alice NaN NaN Beijing
freq 1 NaN NaN 1
mean NaN 35.000000 70000.000000 NaN
std NaN 7.905694 15811.388301 NaN
min NaN 25.000000 50000.000000 NaN
25% NaN 30.000000 60000.000000 NaN
50% NaN 35.000000 70000.000000 NaN
75% NaN 40.000000 80000.000000 NaN
max NaN 45.000000 90000.000000 NaN
- 默认情况下,describe 只处理数值列(如Age和Salary),显示计数、均值、标准差等统计量。
- 使用
include='all'参数可以包括所有列,包括对象列(如Name和City),但对象列只会显示计数、唯一值数量、最常见值和频率。
3. 查看前/后N行数据
head 方法
head 方法返回DataFrame的前N行,默认为前5行。这有助于快速查看数据的前几行。
# 使用head查看前3行数据
print("前3行数据:")
print(df.head(3))
输出:
前3行数据:
Name Age Salary City
0 Alice 25 50000 Beijing
1 Bob 30 60000 Shanghai
2 Charlie 35 70000 Guangzhou
tail 方法
tail 方法返回DataFrame的后N行,默认为后5行。用于查看数据的末尾部分。
# 使用tail查看后2行数据
print("后2行数据:")
print(df.tail(2))
输出:
后2行数据:
Name Age Salary City
3 David 40 80000 Shenzhen
4 Eve 45 90000 Hangzhou
4. 查看列名与行索引
columns 属性
columns 属性返回DataFrame的列名,以一个Pandas Index对象的形式输出。
# 使用columns查看列名
print("列名:")
print(df.columns)
输出:
列名:
Index(['Name', 'Age', 'Salary', 'City'], dtype='object')
index 属性
index 属性返回DataFrame的行索引,同样以Index对象的形式输出。
# 使用index查看行索引
print("行索引:")
print(df.index)
输出:
行索引:
RangeIndex(start=0, stop=5, step=1)
这表示行索引是一个范围索引,从0开始,到4结束(共5个值)。
总结
通过本章节的学习,你应该已经掌握了Pandas中查看数据基本信息的核心方法:
- 使用 shape 获取数据形状,info 获取详细结构信息。
- 使用 describe 生成统计描述,支持按数据类型自定义输出。
- 使用 head 和 tail 查看数据的前后行。
- 使用 columns 和 index 查看列名和行索引。
这些方法在数据分析的初期阶段非常有用,能帮助你快速了解数据集,为后续的分析工作打下基础。在实际应用中,结合这些方法进行数据探索,可以有效提高数据分析的效率。