使用来自另一个数据框的值填充空数据框的快速方法

时间:2019-07-14 19:29:40

标签: python pandas

我有一个空的数据框,如下所示:

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万行,并且我想知道是否有一种更快的方法来生成结果表,因为目前非常慢。任何建议都值得赞赏

0 个答案:

没有答案