Pandas 如何根据列条件在列中创建行?

Pandas 如何根据列条件在列中创建行?,pandas,Pandas,我有一个pandas数据框,我想复制那些满足某些列条件的行(即CourseID列中有多个元素) 我尝试在数据帧上迭代以确定应该复制的行,但我不知道如何复制它们 使用Pandas版本0.25非常简单: 第一步是拆分df.CourseID(将每个元素转换为列表) 然后将其分解(将每个列表分成多行, 重复每行中的其他列): 结果是: 0 456 1 456 1 799 2 789 Name: CourseID, dtype: object 然后,所有要做的就是加入df,当然是

我有一个pandas数据框,我想复制那些满足某些列条件的行(即CourseID列中有多个元素)

我尝试在数据帧上迭代以确定应该复制的行,但我不知道如何复制它们

使用Pandas版本0.25非常简单:

第一步是拆分df.CourseID(将每个元素转换为列表) 然后将其分解(将每个列表分成多行, 重复每行中的其他列):

结果是:

0    456
1    456
1    799
2    789
Name: CourseID, dtype: object
然后,所有要做的就是加入df,当然是为了避免 重复列名时,必须先删除原始CourseID列。 幸运的是,in可以用一条指令表示:

df.drop(columns=['CourseID']).join(course)
如果你有一些老版本的熊猫,这是一个很好的理由
升级。

请将数据直接发布到您的问题中,而不是使用图像或外部链接。关于此主题有多个问题,请参阅df.explode:可能重复的
df.drop(columns=['CourseID']).join(course)