首页 云计算文章正文

pandas ---- pd.DataFrame基本用法

云计算 2024年11月22日 09:28 2 admin

Pandas ---- pd.DataFraMe 基本用法

Pandas 是一个强大的数据分析和操作库,而 pd.DataFrame 是 Pandas 中最常用的数据结构之一。它类似于电子表格和 SQL 表,能够存储和处理结构化数据。本文将详细介绍 pd.DataFrame 的基本用法,帮助读者掌握这一强大的工具。

一、创建 DataFrame

1. 从字典创建

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)

2. 从列表创建

data = [
    ['Alice', 25, 'New York'],
    ['Bob', 30, 'Los Angeles'],
    ['Charlie', 35, 'Chicago']
]

df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)

3. 从 Numpy 数组创建

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. 查看头部和尾部数据

print(df.head())  # 查看前 5 行数据
print(df.tAIl())  # 查看后 5 行数据

2. 查看 DataFrame 信息

print(df.info())
print(df.describe())  # 统计摘要

3. 查看数据维度和列

print(df.shape)  # 查看 DataFrame 的维度
print(df.columns)  # 查看列名

三、选择数据

1. 选择列

print(df['Name'])  # 选择单列
print(df[['Name', 'Age']])  # 选择多列

2. 选择行

print(df.iloc[0])  # 按位置选择
print(df.loc[0])  # 按标签选择

3. 条件选择

print(df[df['Age'] > 30])  # 选择 Age 大于 30 的行

四、数据操作

1. 增加和删除列

df['Salary'] = [50000, 60000, 70000]  # 增加列
print(df)

df.drop('Salary', axis=1, inplace=True)  # 删除列
print(df)

2. 增加和删除行

df.loc[3] = ['David', 40, 'San Francisco']  # 增加行
print(df)

df.drop(3, axis=0, inplace=True)  # 删除行
print(df)

3. 数据排序

df.sort_values(by='Age', ascending=False, inplace=True)
print(df)

4. 数据去重

df.drop_duplicates(subset='City', keep='first', inplace=True)
print(df)

五、数据处理

1. 缺失值处理

df['Age'].fillna(df['Age'].mean(), inplace=True)  # 填充缺失值
print(df)

df.dropna(subset=['City'], inplace=True)  # 删除包含缺失值的行
print(df)

2. 数据替换

df['City'].replace('New York', 'NYC', inplace=True)
print(df)

3. 数据类型转换

df['Age'] = df['Age'].astype(float)
print(df.dtypes)

六、数据聚合与分组

1. 分组统计

grouped = df.groupby('City').mean()
print(grouped)

2. 数据透视表

pivot_table = df.pivot_table(values='Age', index='City', aggfunc=np.mean)
print(pivot_table)

七、数据合并

1. 合并 DataFrame

df1 = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Age': [25, 30]
})

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

df = pd.concat([df1, df2], ignore_index=True)
print(df)

2. 连接 DataFrame

left = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Age': [25, 30]
})

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

df = pd.merge(left, right, on='Name')
print(df)

八、数据导入与导出

1. 导入数据

df = pd.read_csv('data.csv')  # 从 CSV 文件导入
print(df)

df = pd.read_excel('data.xlsx')  # 从 Excel 文件导入
print(df)

2. 导出数据

df.to_csv('output.csv', index=False)  # 导出到 CSV 文件
df.to_excel('output.xlsx', index=False)  # 导出到 Excel 文件

九、数据可视化

1. 简单绘图

import matplotlib.pyplot as plt

df.plot(kind='bar', x='Name', y='Age')
plt.show()

总结

Pandas 的 pd.DataFrame 是一个功能强大且灵活的数据结构,能够处理各种复杂的数据操作和分析任务。从创建和查看数据,到选择和操作数据,再到数据处理、聚合、合并和可视化,pd.DataFrame 提供了全面的工具集。掌握这些基本用法,可以大大提高数据分析的效率和效果。

标签: 处理

亿网科技新闻资讯门户 Copyright 2008-2025 南京爱亿网络科技有限公司 苏ICP备14058022号-4 edns.com INC, All Rights Reserved