Python Pandas 复制所有行

Python Pandas Duplicate all rows

我想复制数据框中的所有行,以便每一行的副本都位于原始行的正下方。然后我想添加一个带有 numpy.where 函数的新列,这将允许我对原始行和重复行有不同的条件。这样:

Name,Gender,Age
John,M,21
Mary,F,18
Peter,M,20

变成:

Name,Gender,Age,Rename
John,M,21,Jo
John,M,21,hn
Mary,F,18,Ma
Mary,F,18,ry
Peter,F,20,Pe
Peter,F,20,er

我希望这个例子很清楚。做这个的最好方式是什么? (我是 Python 的新手,如有不当之处请见谅)

备选方案:

df = df.assign(Rename=list(
    zip(df.Name.str[:2], df.Name.str[-2:]))).explode('Rename')