微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 复制Pandas中的行

参见英文答案 > How to duplicate Python dataframe one by one?                                    5个
我的pandas数据框看起来像这样:

   Person  ID   ZipCode   Gender
0  12345   882  38182     Female
1  32917   271  88172     Male
2  18273   552  90291     Female

我想复制每一行3次,如:

   Person  ID   ZipCode   Gender
0  12345   882  38182     Female
0  12345   882  38182     Female
0  12345   882  38182     Female
1  32917   271  88172     Male
1  32917   271  88172     Male
1  32917   271  88172     Male
2  18273   552  90291     Female
2  18273   552  90291     Female
2  18273   552  90291     Female

当然,重置索引所以它是:

0
1
2

我尝试过如下解决方案:

pd.concat([df[:5]]*3, ignore_index=True)

和:

df.reindex(np.repeat(df.index.values, df['ID']), method='ffill')

我没有运气,如果你能帮助我会很感激.

解决方法:

试试这个:

newdf = pd.DataFrame(np.repeat(df.values,3,axis=0))
newdf.columns = df.columns
print(newdf)

输出

  Person   ID ZipCode  Gender
0  12345  882   38182  Female
1  12345  882   38182  Female
2  12345  882   38182  Female
3  32917  271   88172    Male
4  32917  271   88172    Male
5  32917  271   88172    Male
6  18273  552   90291  Female
7  18273  552   90291  Female
8  18273  552   90291  Female

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐