我正在学习python和pandas,并想像这样转换我的数据框:
A B C
0 11 2 3
1 22 2 4
2 33 2 8
3 44 5 3
4 55 5 4
5 66 5 8
进入:
3 4 8
2 11 22 33
5 44 55 66
在索引中使用“ B”列,在列中使用“ C”列。
我在互联网上一无所获,因为我真的不知道如何描述我的问题。 预先感谢
答案 0 :(得分:0)
假设您的数据帧称为df,
df.groupby('B')['A'].apply(lambda df: df.reset_index(drop=True)).unstack()
答案 1 :(得分:0)
我终于成功做到了。对于那些感兴趣的人:
import copy
data=data.groupby("C")
count=0
for i,j in data:
a=i
dataj=j.drop("C", axis=1)
dataj=dataj.T
dataj.columns=list(dataj.loc["B"])
dataj=dataj.drop(["B"])
dataj.index=[a]
print(dataj)
if count==0:
data_new=copy.deepcopy(dataj)
count+=1
else:
data_new=pd.concat([data_new, dataj], ignore_index=False)
data=data_new
对不起,有点混乱^^