迭代连接数据框

假设我有一个很长的列表,我想迭代join它们以生成最终的数据帧。


数据最初是在的,dict所以我需要首先迭代字典。


header = ['apple', 'pear', 'cocoa']



for key, value in data.items():

    

    for idx in header:


        # Flatten the dictionary to dataframe

        data_df = pd.json_normalize(data[key][idx])

        # Here I start to lose.....

    

如何迭代join数据框?


手动可以这样完成:


data_df = pd.json_normalize(data["ParentKey"]['apple'])


data_df1 = pd.json_normalize(data["ParentKey"]['pear'])


final_df = data_df1.join(data_df, lsuffix='_left')


# or


final_df = pd.concat([data_df, data_df1], axis=1, sort=False)

由于列表很大,我想迭代它们。我怎样才能实现这一点?


九州编程
浏览 78回答 1
1回答

小怪兽爱吃肉

这是您要找的吗?您可以使用 k 作为计数器来指示它是否是第一个迭代器,然后对于将来的迭代器,只需将其连接到同一数据帧:header = ['apple', 'pear', 'cocoa']for key, value in data.items():    k = 0  for idx in header:    data_df = pd.json_normalize(data[key][idx])    if k==0:      final_df = data_df    else:      final_df = final_df.join(data_df, lsuffix='_left')    k += 1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python