Pandas的Dataframe,按条件求和groupby, sum,去重drop_duplicates,左右合并merge

本文介绍了如何使用Pandas进行数据处理,包括按特定列求和、转换索引、去重和数据合并。首先,通过正确处理文件路径避免读取错误,然后使用groupby和sum函数对数据进行聚合。接着,通过reset_index将聚合后的条件列转换为普通列。为了去除重复数据,使用drop_duplicates方法,基于多个列进行去重。最后,通过merge函数实现数据的横向合并,以特定列作为连接键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pandas as pd

data = pd.read_csv (u"C:\\Users\\...\\data.csv" , header=0, encoding = "GBK")
new = pd.DataFrame()

for column in ['销量','金额']:
#'score_hownet','score_boson','score_1how','score_1bos','score_howbos','score_alldict']:
    grouped = data[column].groupby(data['编码']) # 以 编码 为key 求和
    dfnew=grouped.sum()
    new[column]=dfnew
new=new.reset_index()   #   将 编码 ,从index中放入列中

data=data.drop(['商品编码','商品名称','库存','销量','金额'], axis=1)
newdata=data.drop_duplicates(['编码','店铺名称'],'first',False)

newdata = pd.merge(newdata,new,on='编码')

newdata.to_csv('newdata.csv', sep=',', header=True)

在处理数据过程中遇到了一定需求,借助几个函数有效解决了。

需求,也即要解决的问题如下:

1.读取已知csv文件

这里要注意,路径中不是单斜杠“\”,而是双斜杠"\\"

单斜杠会导致读取文件路径过程中,dataframe报错:

'unicodeescape' codec can't decode bytes in position xx: truncated \UXXXXXXXX escape

 

2.根据特定列,对已知数据求和

如 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值