大家好,我是皮皮。
一、前言
前幾天在Python鉑金交流群【紅色基因代代傳】問了一個、Pandas處理的問題,提問截圖如下:
原始資料如下圖所示:
下面是他自己寫的代碼:
with open("relationship.csv", "w", encoding='utf_8_sig') as f:
f.write("Source,Weight\n") #按照人物、對象、發生次數也是權重,寫入代碼當中
for key, value in au_group.items():
f.write(name + "," + name + "," + str(times) + "\n") #這裡面名字被寫入二次第二次是标簽,然後逗号進行分列,str是寫成數字意思
需求澄清:他想把key裡面的二個詞分别導出CSV,上面的變量名稱,一個是source,一個是target,value的值為數字,設定為weight,形成三列。
二、實作過程
後來【瑜亮老師】和【論草莓如何成為凍幹莓】給了一個代碼,可以滿足要求,如下圖所示:
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")
可以順利地得到預期的結果:
後面還問了一個其他的問題,關于修改缺失值,重複值之後,将新内容進行存儲失敗的問題,下面是他的原始代碼。
後來【瑜亮老師】給了一個解決代碼,如下所示:
df[['Author-作者', 'Keyword-關鍵詞']] = df[['Author-作者', 'Keyword-關鍵詞']].applymap(lambda x: re.sub(';+', ',', x).strip(',').split(','))
df.to_csv('result_220928.csv', index=False)
順利地解決了粉絲的問題。不得不承認,群裡的大佬卧虎藏龍的,太強了!