Python 将两行转换为一行
我想在dataframe下面进行转换Python 将两行转换为一行,python,pandas,dataframe,nan,Python,Pandas,Dataframe,Nan,我想在dataframe下面进行转换 ID TYPE A B 0 1 MISSING 0.0 0.0 1 2 1T 1.0 2.0 2 2
ID TYPE A B
0 1 MISSING 0.0 0.0
1 2 1T 1.0 2.0
2 2 2T 3.0 4.0
3 3 MISSING 0.0 0.0
4 4 2T 10.0 4.0
5 5 CBN 15.0 20.0
6 5 DSV 25.0 35.0
致:
对于具有多种类型的ID,请将A和B的多行合并为一行,如上图所示。您正在寻找一个轴,该轴最终将为您提供一个多索引。您需要将这些列连接起来以获得您要查找的后缀
df = df.pivot(index='ID',columns='TYPE', values=['A','B'])
df.columns = ['_'.join(reversed(col)).strip() for col in df.columns.values]
df.reset_index()
这仍然会为ID-2创建两行,我需要将这两行的值拆分为1T和2T列,但在最终输出中只有一个ID-2条目
df = df.pivot(index='ID',columns='TYPE', values=['A','B'])
df.columns = ['_'.join(reversed(col)).strip() for col in df.columns.values]
df.reset_index()