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
格式或所需格式。