Python?pandas數(shù)據(jù)預(yù)處理之行數(shù)據(jù)復(fù)制方式
pandas數(shù)據(jù)預(yù)處理行數(shù)據(jù)復(fù)制
現(xiàn)有一張進(jìn)貨表格,數(shù)據(jù)如下,需要將商品數(shù)量與商品名稱(chēng)拆分,最終實(shí)現(xiàn)有多少個(gè)商品顯示多少行數(shù)據(jù)。
即當(dāng)商品為“雞蛋*5”時(shí),需要有5條雞蛋數(shù)據(jù)。

import pandas as pd import numpy as np file_path=r"E:\臨時(shí)\數(shù)據(jù)預(yù)處理.xlsx" data=pd.read_excel(file_path)
#首先將不同商品做拆分,間隔符為","
data10=data.join(data["商品"].str.split(",",expand=True))
拆分后的數(shù)據(jù)
如下:

#不同商品拆分后第一次復(fù)制
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()]
#將商品名稱(chēng)與商品數(shù)量拆分
data_con.reset_index(drop=True,inplace=True)
data_con=data_con.join(data_con["商品"].str.split("*",expand=True))
拆分后的數(shù)據(jù)
如下:

data_con.rename(columns={0:"商品名稱(chēng)",1:"商品數(shù)量"},inplace=True)
data_con["商品數(shù)量"]=data_con["商品數(shù)量"].astype(int)
#商品名稱(chēng)與數(shù)量拆分后第二次復(fù)制
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]["商品數(shù)量"],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[['日期', '商品名稱(chēng)']] data_pro["商品數(shù)量"]=1

最后將data_pro導(dǎo)出即可。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python內(nèi)置debug庫(kù)pdb用法示例詳解
這篇文章主要介紹了Python內(nèi)置debug庫(kù)pdb用法的相關(guān)資料,Python的內(nèi)置調(diào)試器pdb可以有效幫助開(kāi)發(fā)者掌握程序執(zhí)行流程和變量狀態(tài),通過(guò)插入pdb.set_trace()設(shè)置斷點(diǎn),或直接從命令行啟動(dòng)pdb,可以進(jìn)入交互式調(diào)試模式,需要的朋友可以參考下2024-11-11
樸素貝葉斯分類(lèi)算法原理與Python實(shí)現(xiàn)與使用方法案例
這篇文章主要介紹了樸素貝葉斯分類(lèi)算法原理與Python實(shí)現(xiàn)與使用方法,結(jié)合具體實(shí)例形式分析了樸素貝葉斯分類(lèi)算法的概念、原理、實(shí)現(xiàn)流程與相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
python實(shí)現(xiàn)百度文庫(kù)自動(dòng)化爬取
項(xiàng)目是合法項(xiàng)目,只是進(jìn)行數(shù)據(jù)解析而已,不能下載看不到的內(nèi)容.部分文檔在電腦端不能預(yù)覽,但是在手機(jī)端可以預(yù)覽,所有本項(xiàng)目把瀏覽器瀏覽格式改成手機(jī)端,支持Windows和Ubuntu. 本項(xiàng)目使用的是chromedriver來(lái)控制chrome來(lái)模擬人來(lái)操作來(lái)進(jìn)行文檔爬取2021-04-04
python 計(jì)算數(shù)據(jù)偏差和峰度的方法
今天小編就為大家分享一篇python 計(jì)算數(shù)據(jù)偏差和峰度的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
python得到電腦的開(kāi)機(jī)時(shí)間方法
今天小編就為大家分享一篇python得到電腦的開(kāi)機(jī)時(shí)間方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Python3.10?Generator生成器Coroutine原生協(xié)程詳解
這篇文章主要為大家介紹了Python3.10?Generator生成器Coroutine原生協(xié)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
淺談pandas篩選出表中滿足另一個(gè)表所有條件的數(shù)據(jù)方法
今天小編就為大家分享一篇淺談pandas篩選出表中滿足另一個(gè)表所有條件的數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02

