Python?pandas數(shù)據(jù)預處理之行數(shù)據(jù)復制方式
更新時間:2024年02月23日 08:43:16 作者:永遠在減肥永遠110的的小潘
這篇文章主要介紹了Python?pandas數(shù)據(jù)預處理之行數(shù)據(jù)復制方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
pandas數(shù)據(jù)預處理行數(shù)據(jù)復制
現(xiàn)有一張進貨表格,數(shù)據(jù)如下,需要將商品數(shù)量與商品名稱拆分,最終實現(xiàn)有多少個商品顯示多少行數(shù)據(jù)。
即當商品為“雞蛋*5”時,需要有5條雞蛋數(shù)據(jù)。
import pandas as pd import numpy as np file_path=r"E:\臨時\數(shù)據(jù)預處理.xlsx" data=pd.read_excel(file_path)
#首先將不同商品做拆分,間隔符為"," data10=data.join(data["商品"].str.split(",",expand=True))
拆分后的數(shù)據(jù)
如下:
#不同商品拆分后第一次復制 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()]
#將商品名稱與商品數(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:"商品名稱",1:"商品數(shù)量"},inplace=True) data_con["商品數(shù)量"]=data_con["商品數(shù)量"].astype(int)
#商品名稱與數(shù)量拆分后第二次復制 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[['日期', '商品名稱']] data_pro["商品數(shù)量"]=1
最后將data_pro導出即可。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
樸素貝葉斯分類算法原理與Python實現(xiàn)與使用方法案例
這篇文章主要介紹了樸素貝葉斯分類算法原理與Python實現(xiàn)與使用方法,結(jié)合具體實例形式分析了樸素貝葉斯分類算法的概念、原理、實現(xiàn)流程與相關(guān)操作技巧,需要的朋友可以參考下2018-06-06Python3.10?Generator生成器Coroutine原生協(xié)程詳解
這篇文章主要為大家介紹了Python3.10?Generator生成器Coroutine原生協(xié)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12淺談pandas篩選出表中滿足另一個表所有條件的數(shù)據(jù)方法
今天小編就為大家分享一篇淺談pandas篩選出表中滿足另一個表所有條件的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02