Python 如何使用pandas dataframe操作列表?

Python 如何使用pandas dataframe操作列表?,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我想创建一个数据帧。我从程序中收到以下数据列表: rawdatalist = [ { 'Project_Name':'App1', 'Run Id':'25', 'Complete_Iterations':[('SC1',12.30),('SC2',14.30),('SC3',9.80),('SC4',17.21)] }, { 'Project_Name

我想创建一个数据帧。我从程序中收到以下数据列表:

rawdatalist = [
        {
            'Project_Name':'App1',
            'Run Id':'25',
            'Complete_Iterations':[('SC1',12.30),('SC2',14.30),('SC3',9.80),('SC4',17.21)]
        },
        {
            'Project_Name':'App1',
            'Run Id':'24',
            'Complete_Iterations':[('SC1',11.30),('SC2',13.30),('SC3',8.80)]
        },
        {
            'Project_Name':'App2',
            'Run Id':'25',
            'Complete_Iterations':[('SC1',11.30),('SC2',13.30),('SC3',8.80),('SC4',16.21),('SC5',14.59)]
        },
        {
            'Project_Name':'App2',
            'Run Id':'24',
            'Complete_Iterations':[('SC2',11.30),('SC3',13.30)]
        }
]
我能够使用下面的代码创建数据帧,但是值不在适当的位置

import numpy as np
import pandas as pd

data = []

for dict in rawdatalist:
    for key in dict['Complete_Iterations']:
        for item in key:
            data.append(item)

num_data = np.reshape(data, (int(len(data)/2),2))
df = pd.DataFrame(num_data)

t = df.groupby(0)[1].apply(list)
out = pd.DataFrame(t.tolist(), index=t.index)
print(out)
以上代码的输出 期望输出:
下面是一个相当简单的方法:

d = ([dict(d["Complete_Iterations"]) for d in rawdatalist])
pd.DataFrame.from_records(d).transpose()
输出为:

         0     1      2     3
SC1  12.30  11.3  11.30   NaN
SC2  14.30  13.3  13.30  11.3
SC3   9.80   8.8   8.80  13.3
SC4  17.21   NaN  16.21   NaN
SC5    NaN   NaN  14.59   NaN
d = ([dict(d["Complete_Iterations"]) for d in rawdatalist])
pd.DataFrame.from_records(d).transpose()
         0     1      2     3
SC1  12.30  11.3  11.30   NaN
SC2  14.30  13.3  13.30  11.3
SC3   9.80   8.8   8.80  13.3
SC4  17.21   NaN  16.21   NaN
SC5    NaN   NaN  14.59   NaN