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()
相关推荐
007php0077 小时前
某游戏大厂 Java 面试题深度解析(四)
java·开发语言·python·面试·职场和发展·golang·php
景彡先生7 小时前
Python pandas数据透视表(pivot_table)详解:从入门到实战,多维数据分析利器
python·数据分析·pandas
Blossom.1188 小时前
把AI“编”进草垫:1KB决策树让宠物垫自己报「如厕记录」
java·人工智能·python·算法·决策树·机器学习·宠物
极客数模8 小时前
2025年(第六届)“大湾区杯”粤港澳金融数学建模竞赛准备!严格遵循要求,拿下大奖!
大数据·python·数学建模·金融·分类·图论·boosting
倔强青铜三9 小时前
苦练Python第73天:玩转对象持久化,pickle模块极速入门
人工智能·python·面试
程序员三藏9 小时前
Postman持久化保存/设置断言详解
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman
java1234_小锋9 小时前
PyTorch2 Python深度学习 - 卷积神经网络(CNN)介绍实例 - 使用MNIST识别手写数字示例
python·深度学习·cnn·pytorch2
雍凉明月夜9 小时前
人工智能学习中深度学习之python基础之迭代器、生成器、文件处理和模块等
python·深度学习·学习·pycharm
nvd1110 小时前
python异步编程 -协程的实际意义
开发语言·python