Pandas DataFrame 常用操作示例:从创建到数据分析

Pandas 是 Python 中用于数据分析的强大工具,其核心数据结构是 DataFrame。DataFrame 类似于电子表格,可以存储和操作各种类型的数据。本文将带您深入了解 Pandas DataFrame 的常用操作,并通过代码示例演示如何创建 DataFrame、读取和写入数据、查看数据信息、选择列和行、修改数据、排序数据、分组和聚合以及合并数据。

1. 创建 DataFrame

import pandas as pd

# 从列表创建 DataFrame
data = [['Alice', 25], ['Bob', 30], ['Charlie', 35]]
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)

# 从字典创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df)

2. 读取和写入数据

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('data.csv')

# 写入 CSV 文件
df.to_csv('output.csv', index=False)

3. 查看 DataFrame

import pandas as pd

# 查看 DataFrame 的前几行
df.head()

# 查看 DataFrame 的后几行
df.tail()

# 查看 DataFrame 的行数和列数
df.shape

# 查看 DataFrame 的列名
df.columns

# 查看 DataFrame 的数据类型
df.dtypes

# 查看 DataFrame 的描述统计信息
df.describe()

4. 选择列和行

import pandas as pd

# 选择一列
df['Name']

# 选择多列
df[['Name', 'Age']]

# 选择行
df.loc[0]

# 选择多行
df.loc[0:2]

# 根据条件选择行
df[df['Age'] > 30]

5. 修改数据

import pandas as pd

# 修改一列的值
df['Age'] = df['Age'] + 1

# 添加一列
df['Gender'] = ['F', 'M', 'M']

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

# 修改一行的值
df.loc[0, 'Age'] = 26

# 添加一行
df.loc[3] = ['David', 40]

6. 排序数据

import pandas as pd

# 按一列排序
df.sort_values(by='Age')

# 按多列排序
df.sort_values(by=['Age', 'Name'])

# 按一列逆序排序
df.sort_values(by='Age', ascending=False)

7. 分组和聚合

import pandas as pd

# 按一列分组,并计算平均值
df.groupby('Gender')['Age'].mean()

# 按多列分组,并计算最大值和最小值
df.groupby(['Gender', 'Name'])['Age'].agg(['max', 'min'])

# 按一列分组,并计算数量
df.groupby('Gender').size()

8. 合并数据

import pandas as pd

# 合并两个 DataFrame
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Name': ['Charlie', 'David'], 'Age': [35, 40]})
df = pd.concat([df1, df2])

# 根据一列合并两个 DataFrame
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Name': ['Alice', 'Charlie'], 'Gender': ['F', 'M']})
df = pd.merge(df1, df2, on='Name')

通过以上示例,您应该能够更好地理解 Pandas DataFrame 的基本操作。您可以将这些操作组合起来,以完成各种数据分析任务。


原文地址: https://www.cveoy.top/t/topic/oJ7G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录