快速入门Pandas(一):简述、创建对象及查看数据

快速入门Pandas(一):简述、创建对象及查看数据
最新回答
吐个泡泡

2021-10-15 09:35:10

Pandas是基于NumPy的高效数据处理工具,专为数据分析任务设计。以下是快速入门Pandas的核心内容:

一、Pandas简介

Pandas提供了快速便捷处理数据的函数和方法,主要特点包括:

  • 高效数据结构:支持默认/自定义索引的DataFrame对象。
  • 数据加载工具:可从多种文件格式(如CSV、Excel)加载数据到内存。
  • 数据处理功能:支持数据对齐、缺失值处理、分组聚合、高性能合并等。
  • 时间序列支持:提供日期范围生成、频率转换、移动窗口统计等功能。
二、Pandas数据结构

Pandas包含三种核心数据结构(基于NumPy数组):

  1. Series:一维标签数组,可存储任何数据类型。
  2. DataFrame:二维表格型数据结构,由多个Series组成。
  3. Panel(已弃用):三维数据结构(旧版本支持)。
三、创建对象1. 创建Seriesimport pandas as pdimport numpy as nps = pd.Series([1, 3, 5, np.nan, 6, 8])print(s)

输出:

0 1.01 3.02 5.03 NaN4 6.05 8.0dtype: float642. 创建DataFrame

方法一:使用日期时间索引和NumPy数组

dates = pd.date_range('20130101', periods=6)df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))print(df)

方法二:使用字典对象

df2 = pd.DataFrame({ 'A': 1., 'B': pd.Timestamp('20130102'), 'C': pd.Series(1, index=range(4), dtype='float32'), 'D': np.array([3]*4, dtype='int32'), 'E': pd.Categorical(["test", "train", "test", "train"]), 'F': 'foo'})print(df2)四、查看数据1. 查看头部/尾部数据print(df.head(2)) # 查看前2行print(df.tail(3)) # 查看后3行2. 查看索引与列名print(df.index) # 输出日期索引print(df.columns) # 输出列名['A', 'B', 'C', 'D']3. 转换为NumPy数组print(df.to_numpy()) # 注意:不包含索引和列标签4. 统计摘要print(df.describe()) # 显示计数、均值、标准差等统计信息5. 数据排序

转置数据

print(df.T) # 行列转置

按轴排序

print(df.sort_index(axis=1, ascending=False)) # 列名降序print(df.sort_index(axis=0, ascending=False)) # 行索引降序

按值排序

print(df.sort_values(by='B')) # 按B列值升序排列五、关键注意事项
  1. 数据类型差异

    NumPy数组要求单一数据类型

    DataFrame每列可独立指定数据类型(如float64、datetime64、category等)

  2. 性能优化

    当DataFrame全为浮点数时,to_numpy()操作高效且不复制数据

    包含混合类型时,转换操作会消耗较多资源

  3. 索引特性

    默认自动生成整数索引(0, 1, 2...)

    支持自定义索引(如日期、字符串等)

通过以上基础操作,可以快速掌握Pandas的核心功能,为后续的数据清洗、分析和可视化处理奠定基础。