Python 将重复列表数据移动到表中

Python 将重复列表数据移动到表中,python,pandas,Python,Pandas,如何从此数据帧开始: Name Ken Age 20 Sex M Name Mary Age 34 Sex F 为此: Name Age Sex Ken 20 M Mary 34 F 透视数据帧,向前填充并删除Sex列中的空行 0 1 0 Name Ken 1 Age 20 2 Sex M 3 Name Mary 4 Age 34 5 Sex F (df.p

如何从此数据帧开始:

Name  Ken
Age   20
Sex   M
Name  Mary
Age   34
Sex   F
为此:

Name  Age   Sex
Ken   20    M
Mary  34    F

透视数据帧,向前填充并删除Sex列中的空行

     0       1
0   Name    Ken
1   Age     20
2   Sex     M
3   Name    Mary
4   Age     34
5   Sex     F

(df.pivot(columns=0,values=1)
 .assign(Name = lambda x: x.Name.ffill(),
         Age = lambda x: x.Age.ffill()
    )
 .dropna(subset=['Sex'])
)

    Age Name    Sex
2   20  Ken     M
5   34  Mary    F
还有一个办法

s = df.index//3
df_new = pd.concat([y.reset_index(drop=True) for x , y in df['B'].groupby(s)],axis=1).T.reset_index(drop=True)
df_new.columns = ['Name', 'Age','Sex']
df_new
输出

   Name     Age Sex
0   Ken     20  M
1   Mary    34  F

我认为你不可能轻易做到这一点。您的数据是“类似json”的结构,因此如果是这种情况,则会出现
.read\u json
。如果没有,我会考虑在将数据加载到
dataframe
之前,将数据转换为适当的
json
格式或所需格式。