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()
相关推荐
彦为君2 分钟前
JavaSE-07-异常机制
java·开发语言·后端·python·spring
适应规律22 分钟前
【无标题】
人工智能·python·算法
XLYcmy30 分钟前
全链路验证测试系统:一个针对智能代理(Agent)系统全链路能力的自动化验证脚本
分布式·python·http·网络安全·ai·llm·agent
有味道的男人40 分钟前
电商效率翻倍:京东全量商品信息抓取
python
原来是猿1 小时前
博客系统自动化测试实战总结
python
小江的记录本2 小时前
【JVM虚拟机】JVM调优:常用JVM参数、调优核心指标、OOM排查、GC日志分析、Arthas工具使用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
大数据魔法师2 小时前
Streamlit(十三)- API 参考文档(六)- 媒体展示组件
python·web
爱写代码的倒霉蛋2 小时前
Hello-Agents的第一个练习-5分钟实现一个智能体(实现详解)
python
金銀銅鐵2 小时前
[Java] 用图形化界面演示 iadd, isub, iconst_<i> 指令的效果
java·后端·python
春日见2 小时前
五分钟入门 强化学习---DQN(Deep Q Net)算法与实现
人工智能·python·深度学习·算法·microsoft·机器学习