【发布时间】:2016-07-18 14:18:25
【问题描述】:
我正在编写下面的 Python 代码来合并两个表,这可以在 Excel 中使用 Vlookup 完成,但我想针对更大的数据集自动执行此过程。但是,输出数据似乎太大并且包含两个表中的所有列。我只是想使用第二个表 df_pos 来查找一些列。你看看我的代码执行这个任务是否有效或可行?
谢谢!
def weighted(mwa="mwa.csv",mwa2="mwa.csv",output="WeightedMWA.csv"):
df=pd.read_csv(mwa, thousands=",")
df['Keyword']=df['Keyword'].replace('+','')
df_pos=pd.read_csv("mwa.csv", thousands=",")
df_pos['Keyword']=df_pos['Keyword'].replace('+','')
sumImp=df_pos['Impr.'].sum()
sumPos=df_pos.groupby(by=['Keyword'])['Avg. Pos.'].sum()
df_pos['WeightedPos']=sumPos/sumImp
mergedDF=pd.merge(left=df, right=df_pos, how="left", left_on="Keyword",right_on="Keyword")
mergedDF.to_csv(output)
【问题讨论】:
-
我觉得这个最适合codereview。
-
我没用过Stackoverflow,下次再用。谢谢!
标签: python csv pandas merge lookup