大家好,我是皮皮。
一、前言
前幾天在Python鉑金交流群【紅色基因代代傳】問了一個、Pandas處理的問題,提問截圖如下:
原始數(shù)據(jù)如下圖所示:
[圖片上傳失敗...(image-df1cd6-1667566339382)]
下面是他自己寫的代碼:
with open("relationship.csv", "w", encoding='utf_8_sig') as f:
f.write("Source,Weight\n") #按照人物、對象、發(fā)生次數(shù)也是權(quán)重,寫入代碼當(dāng)中
for key, value in au_group.items():
f.write(name + "," + name + "," + str(times) + "\n") #這里面名字被寫入二次第二次是標(biāo)簽,然后逗號進行分列,str是寫成數(shù)字意思
需求澄清:他想把key里面的二個詞分別導(dǎo)出CSV,上面的變量名稱,一個是source,一個是target,value的值為數(shù)字,設(shè)置為weight,形成三列。
[圖片上傳失敗...(image-f89294-1667566203509)]
二、實現(xiàn)過程
后來【瑜亮老師】和【論草莓如何成為凍干莓】給了一個代碼,可以滿足要求,如下圖所示:
with open("relationship.csv", "w", encoding='utf_8_sig') as f:
f.write("Source,Tsrget,Weight\n")
for key, value in au_group.items():
f.write(f"{key},{value}\n")
可以順利地得到預(yù)期的結(jié)果:
[圖片上傳失敗...(image-42a49-1667566203509)]
后面還問了一個其他的問題,關(guān)于修改缺失值,重復(fù)值之后,將新內(nèi)容進行存儲失敗的問題,下面是他的原始代碼。
[圖片上傳失敗...(image-afbc4a-1667566203509)]
后來【瑜亮老師】給了一個解決代碼,如下所示:
df[['Author-作者', 'Keyword-關(guān)鍵詞']] = df[['Author-作者', 'Keyword-關(guān)鍵詞']].applymap(lambda x: re.sub(';+', ',', x).strip(',').split(','))
df.to_csv('result_220928.csv', index=False)
順利地解決了粉絲的問題。不得不承認(rèn),群里的大佬臥虎藏龍的,太強了!
[圖片上傳失敗...(image-7822fe-1667566203509)]
三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點了一個Pandas處理的問題,文中針對該問題,給出了具體的解析和代碼實現(xiàn),幫助粉絲順利解決了問題。
最后感謝粉絲【紅色基因代代傳】提問,感謝【瑜亮老師】、【不上班能干啥!】、【論草莓如何成為凍干莓】給出的思路和代碼解析,感謝【dcpeng】、【甯同學(xué)】、【貓藥師Kelly】等人參與學(xué)習(xí)交流。