我有一个带有纵向数据的df(每个人两次观察),每个点的年龄和分数。目前,df为长格式:
subj = ['subj1', 'subj1', 'subj2', 'subj2', 'subj3', 'subj3']
age = [37, 40, 56, 41, 27, 29]
score = [2,1,2,5,3,5]
pd.DataFrame(list(zip(subj, age, score)),
columns =['subj', 'age', 'score'])
我想将df转换为宽格式,其中每个主题由一行表示,第1列是年轻时的分数,第2列是老年时的分数
任何帮助都将不胜感激
您还可以使用agg对值和groupby进行排序:
单向:
通过
pivot_table
和rank
的备选方案:输出:
尝试使用^{} +^{} 创建指示符} 创建^{} ,并清理索引和轴:
seq
,然后使用seq
作为列和^{或者通过^{} 在不影响^{的情况下动态使用series:
new_df
:相关问题 更多 >
编程相关推荐