Python pandas数据预处理之行数据复制方式

 更新时间:2024年02月23日 08:43:16   作者:永远在减肥永远110的的小潘  
这篇文章主要介绍了Python pandas数据预处理之行数据复制方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

pandas数据预处理行数据复制

现有一张进货表格,数据如下,需要将商品数量与商品名称拆分,最终实现有多少个商品显示多少行数据。

即当商品为“鸡蛋*5”时,需要有5条鸡蛋数据。

import pandas as pd
import numpy as np
file_path=r"E:\临时\数据预处理.xlsx"
data=pd.read_excel(file_path)
#首先将不同商品做拆分,间隔符为","
data10=data.join(data["商品"].str.split(",",expand=True))

拆分后的数据

如下:

#不同商品拆分后第一次复制
data20=data10[["日期",0]]
data20.rename(columns={0:"商品"},inplace=True)

data30=data10[["日期",1]]
data30.rename(columns={1:"商品"},inplace=True)

data40=data10[["日期",2]]
data40.rename(columns={2:"商品"},inplace=True)

data_con=pd.concat([data20,data30,data40])

data_con=data_con[data_con["商品"].notna()]
#将商品名称与商品数量拆分
data_con.reset_index(drop=True,inplace=True)
data_con=data_con.join(data_con["商品"].str.split("*",expand=True))

拆分后的数据

如下:

data_con.rename(columns={0:"商品名称",1:"商品数量"},inplace=True)
data_con["商品数量"]=data_con["商品数量"].astype(int)
#商品名称与数量拆分后第二次复制
data_pro=pd.DataFrame()
for i in range(data_con.shape[0]):
    data_temp=pd.DataFrame(np.repeat(pd.DataFrame(data_con.iloc[i]).T.values,data_con.iloc[i]["商品数量"],axis=0))
    data_temp.columns=pd.DataFrame(data_con.iloc[i]).T.columns
    data_pro=pd.concat([data_pro,data_temp])

data_pro=data_pro[['日期',  '商品名称']]

data_pro["商品数量"]=1

最后将data_pro导出即可。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 3行代码提取音乐高潮部分

    Python 3行代码提取音乐高潮部分

    这篇文章主要介绍了利用Python代码提取音乐高潮部分,文章围绕Python代码的相关详情展开提取音乐的内容,需要的小伙伴可以参考一下
    2022-01-01
  • Python内置debug库pdb用法示例详解

    Python内置debug库pdb用法示例详解

    这篇文章主要介绍了Python内置debug库pdb用法的相关资料,Python的内置调试器pdb可以有效帮助开发者掌握程序执行流程和变量状态,通过插入pdb.set_trace()设置断点,或直接从命令行启动pdb,可以进入交互式调试模式,需要的朋友可以参考下
    2024-11-11
  • 利用Python制作简易的核酸检测日历

    利用Python制作简易的核酸检测日历

    这篇文章主要为大家详细介绍了如何利用Python语言制作简易的核酸检测日历,文中的示例代码讲解详细,感兴趣的小伙伴可以动手尝试一下
    2022-09-09
  • python turtle绘制多边形和跳跃和改变速度特效

    python turtle绘制多边形和跳跃和改变速度特效

    这篇文章主要介绍了python turtle绘制多边形和跳跃和改变速度特效,文章实现过程详细,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-03-03
  • 朴素贝叶斯分类算法原理与Python实现与使用方法案例

    朴素贝叶斯分类算法原理与Python实现与使用方法案例

    这篇文章主要介绍了朴素贝叶斯分类算法原理与Python实现与使用方法,结合具体实例形式分析了朴素贝叶斯分类算法的概念、原理、实现流程与相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • python实现百度文库自动化爬取

    python实现百度文库自动化爬取

    项目是合法项目,只是进行数据解析而已,不能下载看不到的内容.部分文档在电脑端不能预览,但是在手机端可以预览,所有本项目把浏览器浏览格式改成手机端,支持Windows和Ubuntu. 本项目使用的是chromedriver来控制chrome来模拟人来操作来进行文档爬取
    2021-04-04
  • python 计算数据偏差和峰度的方法

    python 计算数据偏差和峰度的方法

    今天小编就为大家分享一篇python 计算数据偏差和峰度的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python得到电脑的开机时间方法

    python得到电脑的开机时间方法

    今天小编就为大家分享一篇python得到电脑的开机时间方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python3.10 Generator生成器Coroutine原生协程详解

    Python3.10 Generator生成器Coroutine原生协程详解

    这篇文章主要为大家介绍了Python3.10 Generator生成器Coroutine原生协程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 浅谈pandas筛选出表中满足另一个表所有条件的数据方法

    浅谈pandas筛选出表中满足另一个表所有条件的数据方法

    今天小编就为大家分享一篇浅谈pandas筛选出表中满足另一个表所有条件的数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论