在datafram中插入键、值列表

2024-09-29 19:21:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个嵌套列表,每行都包含键、值。我想知道如何将这个列表数据放入数据框。你知道吗

[ [ [key1,value1], [key2,value2], [key3,value3], [key2,value20] ], 
[ [key1,value4], [key3,value6], [key4,value2] ] ]

key1是数据中的主键。你知道吗

下面的数据包含2行,有些键,数据中缺少值。 如何将这些数据放入数据帧

key1     key2     key3    key4     key2
value1   value2   value3  NaN      value20
value4   NaN      value6  value2   NaN

Tags: 数据列表nankey2key1主键value1key3
1条回答
网友
1楼 · 发布于 2024-09-29 19:21:58

基于所提供的其他信息的全新答案:

x=[[['key1','value1'], ['key2','value2'], ['key3','value3'], ['key2','value20']], 
   [['key1','value4'], ['key3','value6'], ['key4','value2']]]

def make_df(sublist):
    keys=[i[0] for i in sublist]
    keys=[str(keys[i])+'_'+str(keys[i:].count(keys[i])-1) for i in range(len(keys))]
    vals=[[i[1]] for i in sublist]
    df=pd.DataFrame({k:v for k,v in zip(keys, vals)})
    return df

df_list=[make_df(i) for i in x]

for i in df_list:
    print(i)

   key1_0  key2_1  key3_0   key2_0
0  value1  value2  value3  value20
   key1_0  key3_0  key4_0
0  value4  value6  value2

def combine_dfs(df_lst):
    df=df_lst[0]
    for i in df_lst[1:]:
        df=pd.concat([df,df_list[1]], axis=0, sort=True)
    return df

new_df=combine_dfs(df_list)

new_df

    key1_0  key2_0  key2_1  key3_0  key4_0
0   value1  value20 value2  value3  NaN
0   value4  NaN     NaN     value6  value2

相关问题 更多 >

    热门问题