pandas处理csv文件的方法步骤


Posted in Python onOctober 16, 2020

一、我的需求

对于这样的一个 csv 表,需要将其
(1)将营业部名称和日期和股票代码进行拼接
(2)对于除了买入金额不同的的数据需要将它们的买入金额相加,每个买入金额乘以买卖序号的符号表示该营业名称对应的买入金额

比如:xx公司,20190731,1,股票1,4000,C20201010,xxxx
我这里想要的结果是:xx公司2019713C20201010,4000

pandas处理csv文件的方法步骤

二、代码

(1)首先由于文件是 gbk,所以读取是需要注意 encoding
(2)日期是int类型,所以需要转化为 字符串

import pandas as pd
import numpy as np

#读取数据
filename = "test.csv"
# 读取 excel 表,根据文件的编码指定编码方式
data = pd.read_csv(filename, encoding='gbk')
# 将所有内容转为字符串
# data = data.applymap(str)
# 将日期这一列转为字符串
data['日期'] = data['日期'].apply(str)

# print(data.loc[0,'营业部名称'])
# print(data.loc[0,'日期'])
# print(data.loc[0,'股票代码'])
# print(data.loc[0,'买卖序号'])
# print(data.loc[0,'买入金额'])

# 拼接:营业部名称+日期+股票代码
data['name_date_code'] = data['营业部名称'] + data['日期'] + data['股票代码']
# 取"买卖序号"的符号和买入金额相乘
# np.sign 获取序号对应的符号
data['buy'] = np.sign(data['买卖序号']) * data['买入金额']
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()
# 写入数据,同样需要注意指定编码格式
data.to_csv("YYBD_result.csv", encoding='gbk',index=False)

三、总结

(1)编码格式,正常是 utf-8 的不用指定,用默认的即可

(2)pandas 读取一行数据

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

(3)pandas 处理数据确实很厉害,字符串拼接,类型转换,删除重复行,真方便

到此这篇关于pandas处理csv文件的方法步骤的文章就介绍到这了,更多相关pandas处理csv文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
详解python中的json和字典dict
Jun 22 Python
python 移除字符串尾部的数字方法
Jul 17 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
详解Django配置JWT认证方式
May 09 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 Python
Python SQLAlchemy库的使用方法
Oct 13 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 Python
opencv检测动态物体的实现
Jul 21 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
Jun 21 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
Oct 16 #Python
Python使用内置函数setattr设置对象的属性值
Oct 16 #Python
python pymysql库的常用操作
Oct 16 #Python
Python基于callable函数检测对象是否可被调用
Oct 16 #Python
python collections模块的使用
Oct 16 #Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 #Python
Django实现随机图形验证码的示例
Oct 15 #Python
You might like
php 广告调用类代码(支持Flash调用)
2011/08/11 PHP
如何判断php数组的维度
2013/06/10 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
禁止按回车键提交表单的方法
2015/06/11 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
JavaScript 五大常见函数
2018/03/23 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
python处理xml文件的方法小结
2017/05/02 Python
pandas中Timestamp类用法详解
2017/12/11 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
python3 kubernetes api的使用示例
2021/01/12 Python
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
临床医学专业个人的自我评价
2013/09/27 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
画展邀请函
2015/01/31 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书