非原创,ChatGPT 问答生成。

Pandas 是一个开源数据分析和数据处理库,广泛用于 Python 编程语言中。它提供了数据结构和数据分析工具,特别适用于处理结构化数据。以下是 Pandas 框架的一些简单介绍,包括其核心数据结构、主要功能和常用操作。

核心数据结构

  1. Series:
  • 一维数据结构,可以存储任何数据类型(整数、浮点数、字符串、Python 对象等)。
  • 类似于 Python 的列表或一维数组,但具有更丰富的功能。
  • 带有索引标签的数组,索引可以是任意类型的数据。
   import pandas as pd
   s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
   print(s)
  1. 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)

主要功能

  1. 数据读取与写入:
  • 支持多种格式的数据读写,如 CSV、Excel、SQL、JSON 等。
  • 例如,读取 CSV 文件并写入 CSV 文件: df = pd.read_csv('file.csv') df.to_csv('output.csv', index=False)
  1. 数据选择与过滤:
  • 使用标签或条件进行行和列的选择和过滤。 # 选择特定的列 df['name'] # 选择特定的行 df.loc[0] # 条件过滤 df[df['age'] > 30]
  1. 数据清洗:
  • 处理缺失数据、重复数据、数据转换等操作。 # 填充缺失值 df.fillna(0) # 删除缺失值 df.dropna() # 删除重复值 df.drop_duplicates()
  1. 数据聚合与分组:
  • 根据某列的值对数据进行分组,并进行聚合操作。 grouped = df.groupby('city').mean() print(grouped)
  1. 数据合并:
  • 合并多个 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.csvfile2.csv,每个文件都有 categorytext 列,我们将它们读取并合并:

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 的基本操作,可以大大提高数据分析的效率和准确性。