当前位置: 首页 > news >正文

pandas库详解

CONTENT

  • 基本数据结构
    • Series
    • DataFrame
  • 数据读取与写入
    • 读取 CSV 文件
    • 写入 CSV 文件
  • 数据清洗
    • 处理缺失值
    • 数据类型转换
  • 数据操作
    • 索引与切片
    • 数据合并
    • 数据分组与聚合
  • 数据可视化

基本数据结构

Series

Series 属于一维标记数组,由一组数据和对应的索引构成。

import pandas as pd
# 创建 Series
s = pd.Series([1, 3, 5, 7, 9])
print(s)

DataFrame

DataFrame 是二维表格型数据结构,每列可以是不同的数据类型。

import pandas as pd# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35]
}
df = pd.DataFrame(data)
print(df)

该代码借助字典创建了一个简单的 DataFrame。

数据读取与写入

读取 CSV 文件

import pandas as pd# 读取 CSV 文件
df = pd.read_csv('data.csv')
df.head()

写入 CSV 文件

import pandas as pd# 创建示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35]
}
df = pd.DataFrame(data)# 写入 CSV 文件
df.to_csv('output.csv', index=False)

数据清洗

处理缺失值

import pandas as pd
import numpy as np# 创建包含缺失值的 DataFrame
data = {'A': [1, np.nan, 3],'B': [4, 5, np.nan]
}
df = pd.DataFrame(data)# 删除包含缺失值的行
df_dropna = df.dropna()# 用 0 填充缺失值
df_fillna = df.fillna(0)print("删除缺失值后的 DataFrame:")
print(df_dropna)
print("填充缺失值后的 DataFrame:")
print(df_fillna)

数据类型转换

import pandas as pd# 创建 DataFrame
data = {'A': ['1', '2', '3']
}
df = pd.DataFrame(data)# 将列 A 转换为整数类型
df['A'] = df['A'].astype(int)
print(df.dtypes)

数据操作

索引与切片

import pandas as pd# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35]
}
df = pd.DataFrame(data)# 按标签索引选取数据
print(df.loc[0, 'Name'])# 按位置索引选取数据
print(df.iloc[0, 1])

数据合并

import pandas as pd# 创建两个 DataFrame
df1 = pd.DataFrame({'ID': [1, 2, 3],'Name': ['Alice', 'Bob', 'Charlie']
})
df2 = pd.DataFrame({'ID': [2, 3, 4],'Age': [25, 30, 35]
})# 按 ID 列合并两个 DataFrame
merged_df = pd.merge(df1, df2, on='ID')
print(merged_df)

数据分组与聚合

import pandas as pd# 创建 DataFrame
data = {'Category': ['A', 'B', 'A', 'B'],'Value': [10, 20, 30, 40]
}
df = pd.DataFrame(data)# 按 Category 列分组并计算每组的平均值
grouped = df.groupby('Category')
mean_values = grouped.mean()
print(mean_values)

数据可视化

import pandas as pd
import matplotlib.pyplot as plt# 创建 DataFrame
data = {'Year': [2010, 2011, 2012, 2013],'Sales': [100, 150, 200, 250]
}
df = pd.DataFrame(data)# 绘制折线图
df.plot(x='Year', y='Sales', kind='line')
plt.show()

相关文章:

  • 【web服务_负载均衡Nginx】一、Nginx 基础与核心概念解析
  • 使用 reverse-sourcemap 工具反编译 Vue 项目
  • 如何通俗理解transformer架构
  • Vue中v-if和v-show区别
  • 探索Web3平台的数据安全和保护机制
  • 蓝光三维扫描技术:高效精密测量相机镜头底座注塑件
  • 在 Power BI Desktop 中设置视觉对象查询限制
  • 基于labview的钢琴程序设计
  • 算法之贪心算法
  • Python + 链上数据可视化:让区块链数据“看得懂、用得上”
  • ESP32- 开发笔记- 硬件设计-ESP32-C3基本电路
  • Windows平台使用Docker部署Neo4j
  • 《MySQL:MySQL数据库的基本操作》
  • 利用互斥锁或者利用逻辑过期解决缓存击穿问题
  • C# 类型、存储和变量(实例化类型)
  • Flutter的原理及美团的实践(下)
  • Java 中 Synchronized如何保证可见性
  • 访问者模式深度解析与实战案例
  • AI日报 - 2025年4月18日
  • 【KWDB 创作者计划】深度实操体验 KWDB 2.2.0:从安装到实战的全流程解析以及实操体验
  • 韩国执政党总统候选人更换方案被否决,金文洙候选人资格即刻恢复
  • 体验中国传统文化、采购非遗文创,波兰游客走进上海市群艺馆
  • 上海第四批土拍成交额97亿元:杨浦宅地成交楼板单价半年涨近7000元
  • 时隔14个月北京怀柔区重启供地,北京建工以3.59亿元摘得
  • 中方就乌克兰危机提出新倡议?外交部:中方立场没有变化
  • 2025柯桥时尚周启幕:国际纺都越来越时尚