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导出即可。

总结

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

相关文章

  • PyCharm之如何设置自动换行问题

    PyCharm之如何设置自动换行问题

    这篇文章主要介绍了PyCharm之如何设置自动换行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • wxPython框架类和面板类的使用实例

    wxPython框架类和面板类的使用实例

    这篇文章主要介绍了wxPython框架类和面板类的使用实例,主要实现了自定义框架类及其完整的调用方法,代码简单高效,是进一步学习wxPython框架类的基础,需要的朋友可以参考下
    2014-09-09
  • Django中使用pillow实现登录验证码功能(带刷新验证码功能)

    Django中使用pillow实现登录验证码功能(带刷新验证码功能)

    这篇文章主要介绍了Django中使用pillow实现登录验证码功能(带刷新验证码功能),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python利用GDAL模块实现读取栅格数据并对指定数据加以筛选掩膜

    Python利用GDAL模块实现读取栅格数据并对指定数据加以筛选掩膜

    这篇文章主要为大家详细介绍了如何基于Python语言中gdal模块,对遥感影像数据进行栅格读取与计算,同时基于QA波段对像元加以筛选、掩膜的操作,需要的可以参考一下
    2023-02-02
  • linux中使用Python对图片进行批量命名

    linux中使用Python对图片进行批量命名

    大家好,本篇文章主要讲的是linux中使用Python对图片进行批量命名,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • python+pandas+时间、日期以及时间序列处理方法

    python+pandas+时间、日期以及时间序列处理方法

    今天小编就为大家分享一篇python+pandas+时间、日期以及时间序列处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python解决ModuleNotFoundError: No module named 'PIL'的问题

    Python解决ModuleNotFoundError: No module named&

    ModuleNotFoundError: No module named 'PIL'是一个常见的Python错误,通常出现在使用Pillow库时,Pillow是Python中用于图像处理的一个库,其前身是PIL,本文介绍了Python解决ModuleNotFoundError: No module named 'PIL'的问题,需要的朋友可以参考下
    2024-09-09
  • Python使用wxPython和PyMuPDF提取PDF页面指定页数的内容

    Python使用wxPython和PyMuPDF提取PDF页面指定页数的内容

    在本篇博客中,我们将探讨如何使用wxPython和PyMuPDF库创建一个简单的Bokeh应用程序,用于选择PDF文件并提取指定页面的内容,并将提取的内容显示在文本框中,需要的朋友可以参考下
    2023-08-08
  • drf-router和authenticate认证源码分析

    drf-router和authenticate认证源码分析

    在 Rest Framework 中提供了两个 router , 可以帮助我们快速的实现路由的自动生成,本文通过实例代码给大家介绍drf-router和authenticate认证源码分析,感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • 4个的Python自动化脚本分享

    4个的Python自动化脚本分享

    这篇文章主要给大家分享了4个的Python自动化脚本,自动化脚本无需手动一次又一次地完成这些任务,非常方便,下面我能就一起进入文章来来了解实现吧,希望对你有所帮助
    2021-12-12

最新评论