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'])]
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。