python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Pandas复制dataframe中的每一行

Pandas实现复制dataframe中的每一行

作者:AaronCosmos

这篇文章主要介绍了Pandas实现复制dataframe中的每一行方式,

Pandas复制dataframe的每一行

Pandas的一些练习:

// An highlighted block
import numpy as np
import pandas as pd

pd1=pd.DataFrame(np.arange(25).reshape(5,5))
pd2=pd.DataFrame()
print(pd1)
for i in range(len(pd1)):
    a=pd1.loc[i]
    d=pd.DataFrame(a).T
    pd2=pd2.append([d]*5)  #每行复制5倍
print(pd2)

效果如图所示:


在这里插入图片描述

根据某列的值N复制Pandas dataframe上的N行

假设有如下DataFrame:

    A   B   count
0   1   2   3
1   3   4   2
2   5   6   1
3   7   8   2 

现在需要根据count列的值对每一行进行复制,要变成如下的表:

    A   B   count
0   1   2   3
1   1   2   3
2   1   2   3
3   3   4   2
4   3   4   2
5   5   6   1
6   7   8   2
7   7   8   2

非常快速的写法:

df = df.loc[df.index.repeat(df['count'])]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文