非原创,ChatGPT 问答生成。
Pandas 是一个开源数据分析和数据处理库,广泛用于 Python 编程语言中。它提供了数据结构和数据分析工具,特别适用于处理结构化数据。以下是 Pandas 框架的一些简单介绍,包括其核心数据结构、主要功能和常用操作。
核心数据结构
- Series:
 
- 一维数据结构,可以存储任何数据类型(整数、浮点数、字符串、Python 对象等)。
 - 类似于 Python 的列表或一维数组,但具有更丰富的功能。
 - 带有索引标签的数组,索引可以是任意类型的数据。
 
   import pandas as pd
   s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
   print(s)
- DataFrame:
 
- 二维数据结构,类似于电子表格或 SQL 表格。
 - 由多个 Series 组成,每个 Series 代表一列数据。
 - 具有行索引和列索引,可以进行各种数据操作,如筛选、排序、聚合等。
 
   data = {
       'name': ['Alice', 'Bob', 'Charlie'],
       'age': [25, 30, 35],
       'city': ['New York', 'Los Angeles', 'Chicago']
   }
   df = pd.DataFrame(data)
   print(df)
主要功能
- 数据读取与写入:
 
- 支持多种格式的数据读写,如 CSV、Excel、SQL、JSON 等。
 - 例如,读取 CSV 文件并写入 CSV 文件: 
df = pd.read_csv('file.csv') df.to_csv('output.csv', index=False) 
- 数据选择与过滤:
 
- 使用标签或条件进行行和列的选择和过滤。 
# 选择特定的列 df['name'] # 选择特定的行 df.loc[0] # 条件过滤 df[df['age'] > 30] 
- 数据清洗:
 
- 处理缺失数据、重复数据、数据转换等操作。 
# 填充缺失值 df.fillna(0) # 删除缺失值 df.dropna() # 删除重复值 df.drop_duplicates() 
- 数据聚合与分组:
 
- 根据某列的值对数据进行分组,并进行聚合操作。 
grouped = df.groupby('city').mean() print(grouped) 
- 数据合并:
 
- 合并多个 DataFrame,如连接(join)和拼接(concat)。 
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]}) df2 = pd.DataFrame({'key': ['A', 'B', 'D'], 'value2': [4, 5, 6]}) # 按键连接 merged = pd.merge(df1, df2, on='key') print(merged) # 拼接 concatenated = pd.concat([df1, df2], ignore_index=True) print(concatenated) 
示例:读取、处理并合并两个 CSV 文件中的特定列
假设有两个 CSV 文件 file1.csv 和 file2.csv,每个文件都有 category 和 text 列,我们将它们读取并合并:
import pandas as pd
# 读取文件并查看列名
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
print(df1.columns)
print(df2.columns)
# 如果列名有问题,可以手动调整或使用列索引
df1 = pd.read_csv('file1.csv', usecols=['category', 'text'])
df2 = pd.read_csv('file2.csv', usecols=['category', 'text'])
# 合并两个DataFrame
merged_df = pd.concat([df1, df2], ignore_index=True)
# 写入新的CSV文件
merged_df.to_csv('merged.csv', index=False)
print(merged_df)
总结
Pandas 提供了强大的数据操作功能,可以轻松读取、处理和分析数据。通过学习和掌握 Pandas 的基本操作,可以大大提高数据分析的效率和准确性。