我有一个空的数据框,如下所示:
id a b c d ...
--- -- -- -- --
还有一个名为freq_result的数据帧,其中包含如下数据:
id codes count
1 a 2
1 b 3
2 a 1
2 c 2
....
我正在寻找的是这样的结果表:
id a b c d ...
--- -- -- -- --
1 2 3 0 0
2 1 0 2 0
....
到目前为止,我的是:
df = pd.DataFrame( columns = list_of_code)
count = 0
for e in id_list:
df.loc[len(df)] = [0]*len(df.columns)
df.iloc[count]['id'] = e
subset_df = freq_result.loc[freq_result['id'] == e]
a = list(subset_df['codes'])
df.loc[count,a] = list(subset_df['total_count'])
count = count + 1
上面是一个示例表,在我的情况下,freq_result表具有超过400万行,并且我想知道是否有一种更快的方法来生成结果表,因为目前非常慢。任何建议都值得赞赏