pandas

  1. pandas 是 Python 中一个非常流行和强大的数据分析库。它提供了高效的操作数据表和时间序列功能,广泛用于数据清洗、数据分析和数据可视化

    pip install pandas

javascript 复制代码
 import pandas as pd
  1. 常用数据结构 pandas 主要提供两个数据结构:

Series: 一维数组,带有标签(索引)。 DataFrame: 二维数据结构,类似于电子表格,由多行和多列组成。

  1. 创建 DataFrame 和 Series
  • 创建 Series
ini 复制代码
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)
  • 创建 DataFrame
bash 复制代码
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'San Francisco', 'Los Angeles']
}
df = pd.DataFrame(data)
print(df)
  1. 基本操作
ini 复制代码
df = pd.read_csv('data.csv')  # 从 CSV 文件读取数据
bash 复制代码
print(df.head())  # 查看前几行
print(df.info())  # 查看数据概况
print(df.describe())  # 查看描述性统计
ini 复制代码
选择列
ages = df['Age']
选择行
first_row = df.iloc[0] # 通过位置选择
bob_row = df[df['Name'] == 'Bob'] # 通过条件选择
ini 复制代码
处理缺失值
df.dropna(inplace=True) # 删除含有缺失值的行
df.fillna(0, inplace=True) # 用0填充缺失值
重命名列
df.rename(columns={'Name': 'Full Name'}, inplace=True)
  1. 数据分析
ini 复制代码
mean_age = df['Age'].mean()  # 计算平均年龄
age_counts = df['Age'].value_counts()  # 统计每个年龄的数量
ini 复制代码
grouped = df.groupby('City').mean()  # 按城市分组并计算每组的平均值print(grouped)
  1. 数据可视化:

虽然 pandas 主要是一个数据分析工具,但它可以与 matplotlibseaborn 等可视化库集成以进行数据可视化。

scss 复制代码
import matplotlib.pyplot as plt
绘制年龄分布图
df['Age'].hist()
plt.title('Age Distribution')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()
  1. 示例代码:下面是一个简单的示例,将上述部分拼凑在一起,展示如何操作 pandas
python 复制代码
import pandas as pd
import matplotlib.pyplot as plt
创建 DataFrame
data = {
 'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
 'Age': [25, 30, 35, 40, None],
 'City': ['New York', 'San Francisco', 'Los Angeles', 'New York', 'San Francisco']
}
df = pd.DataFrame(data)
处理缺失值
df['Age'].fillna(df['Age'].mean(), inplace=True)
统计分析
print(df.describe())
分组并求平均
grouped = df.groupby('City')['Age'].mean().reset_index()
print(grouped)
可视化
grouped.plot(x='City', y='Age', kind='bar')
plt.title('Average Age by City')
plt.xlabel('City')
plt.ylabel('Average Age')
plt.show()
相关推荐
曲幽7 分钟前
FastAPI不止于API:手把手教你用Jinja2打造动态Web页面
python·fastapi·backend·jinja2·full stack·template engine·web development
禹凕12 分钟前
Python编程——进阶知识(多线程)
开发语言·爬虫·python
Ulyanov15 分钟前
基于Pymunk物理引擎的2D坦克对战游戏开发
python·游戏·pygame·pymunk
铉铉这波能秀16 分钟前
LeetCode Hot100数据结构背景知识之字典(Dictionary)Python2026新版
数据结构·python·算法·leetcode·字典·dictionary
程序媛徐师姐31 分钟前
Python基于爬虫的网络小说数据分析系统【附源码、文档说明】
爬虫·python·python爬虫·网络小说数据分析系统·pytho网络小说数据分析系统·python爬虫网络小说·python爬虫的网络小说数据
清水白石00838 分钟前
深入解析 LRU 缓存:从 `@lru_cache` 到手动实现的完整指南
java·python·spring·缓存
JaydenAI42 分钟前
[LangChain之链]LangChain的Chain——由Runnable构建的管道
python·langchain
kali-Myon43 分钟前
2025春秋杯网络安全联赛冬季赛-day3
python·安全·web安全·ai·php·web·ctf
AbsoluteLogic1 小时前
Python——彻底明白Super() 该如何使用
python
小猪咪piggy1 小时前
【Python】(4) 列表和元组
开发语言·python