python一維表轉(zhuǎn)二維表的實現(xiàn)示例
本文主要介紹了python一維表轉(zhuǎn)二維表的實現(xiàn)示例,具體如下:
一維表轉(zhuǎn)二維表
import pandas as pd # 讀取數(shù)據(jù) product_df = pd.read_csv(r'D:\excelFile\practice\物品屬性值一維表.csv',encoding='utf-8') # print(product_df) # 將一維表轉(zhuǎn)變二維 s = pd.Series(list(product_df['屬性值']),index=[product_df['物品編號'],product_df['屬性名']]) # 利用一維數(shù)據(jù)表 構(gòu)造一個二級索引Series對象 new_df = s.unstack() # 對s執(zhí)行stack的逆操作unstack # 結(jié)果寫入新的文件中 # new_df.to_csv("D:\excelFile\practice\物品屬性值二維表.csv", encoding="utf-8", mode="w", index=True)
new_df結(jié)果:
寫入表后:
二維表轉(zhuǎn)一維表
將上述二維數(shù)據(jù)結(jié)果放入一個xlsx文檔,讀取然后將其轉(zhuǎn)為一維
product_df2 = pd.read_excel('D:\\excelFile\practice\物品屬性值一維表.xlsx','Sheet2') # 將二維數(shù)據(jù)表轉(zhuǎn)化為一維數(shù)據(jù)表: new_data = product_df2.set_index('物品編號') # 將product_df2中的物品編號一列設(shè)置為索引列 print('new_data: ------ \n {}'.format(new_data)) df1 = new_data.stack() # stack的返回對象df1是一個二級索引Series對象 print('df1: ------ \n {}'.format(df1)) df2 = df1.reset_index() # 通過reset_index函數(shù)將Series對象的二級索引均轉(zhuǎn)化為DataFrame對象的列值 print('df2: ------\n {}'.format(df2)) df2.columns = ['物品變編號','屬性名','屬性值'] print('df2 修改列名:----- \n {}'.format(df2)) # 結(jié)果寫入新的文件中 # df2.to_excel("D:\excelFile\practice\物品屬性值二維表2.xlsx", encoding="utf-8", index=True)
到此這篇關(guān)于python一維表轉(zhuǎn)二維表的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)python一維表轉(zhuǎn)二維表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas中DataFrame.drop()函數(shù)的具體使用
DataFrame.drop是Pandas庫中一個非常實用的函數(shù),用于刪除 DataFrame中的行或列,本文就來介紹一下Pandas中DataFrame.drop()函數(shù)的具體使用,感興趣的可以了解一下2024-07-07網(wǎng)易有道2017內(nèi)推編程題 洗牌(python)
這篇文章主要為大家詳細介紹了網(wǎng)易有道2017內(nèi)推編程題:洗牌,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06python如何通過Json路徑返回Json響應(yīng)對應(yīng)的值
這篇文章主要介紹了python如何通過Json路徑返回Json響應(yīng)對應(yīng)的值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06