2024-06-03 10:43:02 发布
网友
我有下表:
UserID Course 1 ENGLISH 1 MATH 2 ENGLISH 2 PHILOSOPHY 3 MATH
我想要下表:
UserID Course1 Course2 Course3 1 ENGLISH MATH 2 ENGLISH PHILOSOPHY 3 MATH
我应该怎样对待熊猫呢?你知道吗
请注意,我有成千上万的课程,所以为每门课程创建一列是没有意义的。你知道吗
您可以添加一个包含“课程编号”(每个用户)的列,然后对其进行透视。你知道吗
df['CourseNr'] = df.groupby('UserID').cumcount().apply(lambda x: 'Course%i' % (x+1))
提供:
UserID Course CourseNr 0 1 ENGLISH Course1 1 1 MATH Course2 2 2 ENGLISH Course1 3 2 PHILOSOPHY Course2 4 3 MATH Course1
然后:
pd.pivot(df.UserID, df.CourseNr, df.Course)
结果:
CourseNr Course1 Course2 UserID 1 ENGLISH MATH 2 ENGLISH PHILOSOPHY 3 MATH NaN
您可以添加一个包含“课程编号”(每个用户)的列,然后对其进行透视。你知道吗
提供:
然后:
结果:
相关问题 更多 >
编程相关推荐