Python 数据帧 (DataFrame)
最后修改于 2025 年 2 月 25 日
DataFrame 是 Python 中一种二维、大小可变且可能包含不同类型数据的表格数据结构。 它是数据分析中最常用的数据结构之一,由 Pandas 库提供。 本教程涵盖了创建、操作和分析 DataFrame 的基础知识,并提供了实际示例。
安装 Pandas
您可以使用 pip 安装 Pandas 库
$ pip install pandas
创建 DataFrame
此示例演示如何从字典创建 DataFrame。
create_dataframe.py
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)
DataFrame 是从字典创建的,其中键是列名,值是数据列表。 输出是数据的表格表示。
从 CSV 文件读取数据
此示例演示如何将数据从 CSV 文件读取到 DataFrame 中。
read_csv.py
import pandas as pd
df = pd.read_csv('data.csv')
print(df)
read_csv 函数从 CSV 文件读取数据并创建 DataFrame。 这是将数据加载到 DataFrame 中最常见的方式之一。
选择列
此示例演示如何从 DataFrame 中选择特定列。
select_columns.py
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['Name']) # Select a single column
print(df[['Name', 'City']]) # Select multiple columns
可以使用列名选择列。 单个列作为 Series 返回,而多个列作为 DataFrame 返回。
过滤行
此示例演示如何根据条件过滤行。
filter_rows.py
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
filtered_df = df[df['Age'] > 30]
print(filtered_df)
可以使用布尔条件过滤行。 在此示例中,仅选择年龄大于 30 的行。
添加新列
此示例演示如何向 DataFrame 添加新列。
add_column.py
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
df['Salary'] = [70000, 80000, 90000]
print(df)
可以通过将值列表分配给新列名来向 DataFrame 添加新列。
分组和聚合数据
此示例演示如何分组数据并执行聚合。
group_aggregate.py
import pandas as pd
data = {
'City': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Chicago'],
'Sales': [200, 150, 300, 250, 400]
}
df = pd.DataFrame(data)
grouped_df = df.groupby('City').sum()
print(grouped_df)
groupby 函数按特定列对数据进行分组,sum 函数聚合分组的数据。 在此示例中,销售额按城市求和。
使用 DataFrames 的最佳实践
- 使用向量化操作: 避免循环,并使用内置的 Pandas 函数以获得更好的性能。
- 处理缺失数据: 使用
dropna或fillna等方法来处理缺失值。 - 优化内存使用: 使用适当的数据类型来减少内存消耗。
- 利用索引: 使用索引可以更快地检索和操作数据。
来源
在本文中,我们探讨了 Python DataFrames,并通过实际示例演示了它们的用例。
作者
列出所有 Python 教程。