Python使用总结之DataFrame使用详解

Python使用总结之DataFrame使用详解

Pandas是Python中最强大的数据分析库之一,而DataFrame是Pandas中最重要的数据结构。DataFrame可以看作是一种表格型数据结构,它类似于电子表格或SQL表,可以轻松地进行数据操作和分析。

本文将详细介绍Pandas中的DataFrame的使用方法,包括创建、操作、索引、处理缺失值和数据聚合等方面。

一、创建DataFrame

DataFrame可以通过多种方式创建,常见的包括从字典、列表、NumPy数组和CSV文件等创建。

  1. 从字典创建DataFrame
python 复制代码
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}

df = pd.DataFrame(data)
print(df)
  1. 从列表创建DataFrame
python 复制代码
data = [
    ['Alice', 25, 'New York'],
    ['Bob', 30, 'Los Angeles'],
    ['Charlie', 35, 'Chicago']
]

df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)
  1. 从NumPy数组创建DataFrame
python 复制代码
import numpy as np

data = np.array([
    ['Alice', 25, 'New York'],
    ['Bob', 30, 'Los Angeles'],
    ['Charlie', 35, 'Chicago']
])

df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)
  1. 从CSV文件创建DataFrame
python 复制代码
df = pd.read_csv('data.csv')
print(df)
二、基本操作
  1. 查看数据
python 复制代码
print(df.head())   # 查看前5行数据
print(df.tail())   # 查看后5行数据
print(df.info())   # 查看DataFrame的信息
print(df.describe()) # 查看数据的统计信息
  1. 选取数据
python 复制代码
print(df['Name'])   # 选取单列
print(df[['Name', 'Age']])   # 选取多列
  1. 行列索引
python 复制代码
print(df.iloc[0])   # 按位置选取行
print(df.loc[0])    # 按标签选取行
print(df.iloc[:, 0])   # 按位置选取列
print(df.loc[:, 'Name'])   # 按标签选取列
  1. 筛选数据
python 复制代码
print(df[df['Age'] > 30])   # 筛选年龄大于30的数据
三、处理缺失值

缺失值是数据分析中常见的问题,Pandas提供了多种方法来处理缺失值。

  1. 查看缺失值
python 复制代码
print(df.isnull())   # 查看缺失值情况
print(df.isnull().sum())   # 统计每列缺失值的数量
  1. 填充缺失值
python 复制代码
df['Age'].fillna(df['Age'].mean(), inplace=True)   # 用均值填充缺失值
df['City'].fillna('Unknown', inplace=True)   # 用特定值填充缺失值
  1. 删除缺失值
python 复制代码
df.dropna(inplace=True)   # 删除包含缺失值的行
四、数据聚合

Pandas提供了强大的数据聚合功能,可以轻松地对数据进行分组、汇总和统计分析。

  1. 分组与聚合
python 复制代码
grouped = df.groupby('City')
print(grouped['Age'].mean())   # 按城市分组,计算年龄的均值
  1. 多重聚合
python 复制代码
agg_funcs = {'Age': ['mean', 'max'], 'Name': 'count'}
print(df.groupby('City').agg(agg_funcs))   # 多重聚合
  1. 透视表
python 复制代码
pivot_table = df.pivot_table(values='Age', index='City', aggfunc='mean')
print(pivot_table)   # 创建透视表
五、DataFrame的合并

Pandas支持多种方式的DataFrame合并,包括连接、合并和拼接。

  1. 连接
python 复制代码
df1 = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
})

df2 = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'City': ['New York', 'Los Angeles', 'Chicago']
})

merged_df = pd.merge(df1, df2, on='Name')
print(merged_df)   # 按照Name列进行连接
  1. 拼接
python 复制代码
df1 = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Age': [25, 30]
})

df2 = pd.DataFrame({
    'Name': ['Charlie', 'David'],
    'Age': [35, 40]
})

concat_df = pd.concat([df1, df2])
print(concat_df)   # 按行进行拼接

六、总结

Pandas中的DataFrame是进行数据分析的强大工具,通过掌握DataFrame的创建、基本操作、索引、处理缺失值、数据聚合和合并等功能,可以极大地提升数据分析的效率和效果。希望本文对你理解和使用DataFrame有所帮助,更多高级功能和技巧需要在实际操作中不断探索和积累。

相关推荐
databook12 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar13 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805113 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_13 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机20 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机21 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机21 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机21 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i21 小时前
drf初步梳理
python·django
每日AI新事件21 小时前
python的异步函数
python