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()
相关推荐
蓝创工坊Blue Foundry2 分钟前
扫描件批量转 Excel:先确认要整表还原还是字段汇总
python·pdf·ocr·excel
二十雨辰7 分钟前
[爬虫]-解析
开发语言·python
天天爱吃肉82181 小时前
AI Agent时代你的经验值多少钱?
人工智能·python·功能测试·学习·汽车
鱼香鱼香rose1 小时前
java-2
java·开发语言·python
tkevinjd10 小时前
MiniCode 项目详解6:原项目控制系统的10个缺陷(已修复)
python·llm·agent
dNGUZ7UGj11 小时前
10分钟完成第一个Python小游戏
python·django
没有梦想的咸鱼185-1037-166311 小时前
AI-Python机器学习与深度学习技术:CNN/Transformer/扩散模型、SHAP可解释及Hermes智能体自动化
人工智能·python·深度学习·机器学习·chatgpt·cnn·transformer
霸道流氓气质11 小时前
SpringBoot中通用工具类库(Utils)封装与使用实践
spring boot·后端·python
Draina13 小时前
CBC填充预言攻击-CBC Padding Oracle Crypto Attack
python·安全·web安全·网络安全·密码学·安全性测试
Angel Q.14 小时前
特征提取 | DINO 到 DINOv3
图像处理·python