pandas处理csv文件的方法步骤

顾言
顾言
发布时间:2026-10-11| 1人浏览过
原创

本文详细介绍如何使用pandas库高效处理CSV文件。涵盖指定编码(如GBK)读取数据、日期字段类型转换、多列字符串拼接、基于符号的数值计算、数据分组聚合以及去重保存等核心操作步骤,帮助开发者快速完成数据清洗任务。

pandas处理csv文件的方法步骤

在使用Python进行数据分析时,处理CSV文件是常见的需求。pandas库提供了强大的功能来读取、清洗和保存数据。以下是处理CSV文件的关键步骤和代码示例。

1. 读取CSV文件并处理编码

当CSV文件使用特定编码(如GBK)时,读取时必须指定encoding参数,否则可能导致乱码或读取失败。对于UTF-8编码的文件,通常可以不指定编码。

import pandas as pd
import numpy as np

# 读取数据,指定编码为gbk
filename = "test.csv"
data = pd.read_csv(filename, encoding='gbk')

2. 数据类型转换

原始数据中的日期字段可能以整数形式存储,需要转换为字符串以便后续处理。可以使用apply方法将指定列转换为字符串类型。

# 将日期这一列转为字符串
data['日期'] = data['日期'].apply(str)

3. 字符串拼接与数值计算

pandas支持对字符串列进行拼接操作,也可以结合numpy进行数值计算。例如,将营业部名称、日期和股票代码拼接成一个新的标识列,并根据买卖序号的符号计算买入金额。

# 拼接:营业部名称+日期+股票代码
data['name_date_code'] = data['营业部名称'] + data['日期'] + data['股票代码']

# 取"买卖序号"的符号和买入金额相乘
# np.sign 获取序号对应的符号
data['buy'] = np.sign(data['买卖序号']) * data['买入金额']

4. 数据清洗与聚合

在计算完成后,可以删除不需要的原始列,并根据新的标识列进行分组聚合。使用groupby和sum方法将相同标识行的金额相加,并将结果映射回原数据。最后,删除中间列并去除重复行。

# 删除不需要的列
data = data.drop(['营业部名称', '日期', '买卖序号', '股票名', '买入金额', '股票代码', 'data_stock'], axis=1)

# 将 name_date_code 相同的行,金额相加
buy_sum = data.groupby('name_date_code')['buy'].sum()
# 将相加的金额加入数据data,缺失数据用0填充
data['buy_sum'] = data.loc[:, 'name_date_code'].map(buy_sum).fillna(0)
# 将买入金额删掉,只剩下两列数据
data = data.drop(['buy'], axis=1)
# 删除重复行
data = data.drop_duplicates()

5. 保存CSV文件

处理完成后,使用to_csv方法保存数据。同样需要注意指定编码格式,以确保文件在其他环境中能正确读取。

# 写入数据,同样需要注意指定编码格式
data.to_csv("YYBD_result.csv", encoding='gbk', index=False)

6. 查看数据

可以使用iloc方法查看特定行的数据,以验证处理结果。

# data.iloc 取一整行
print(data.iloc[0])

以上就是pandas处理csv文件的方法步骤的详细内容,更多关于pandas数据处理技巧的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。