根据表中的条件在数据框中复制行

问题描述

我有一个这样的数据框:

BundleSecond

我想通过col2复制行并获得一个像这样的表:

d = {'col1': ['a','b'],'col2': [2,4]}
df = pd.DataFrame(data=d)
df

>>      col1    col2
    0    a        2
    1    b        4

感谢大家的帮助!

解决方法

这是我使用一些numpy的解决方案:

numRows = np.sum(df.col2)
blankSpace = np.zeros(numRows,).astype(str)
d2 = {'col1': blankSpace,'col2': blankSpace}
df2 = pd.DataFrame(data=d2)

counter = 0
for i in range(df.shape[0]):
    letter = df.col1[i]
    numRowsForLetter = df.col2[i]
    
    for j in range(numRowsForLetter):
        df2.at[counter,'col1'] = letter
        df2.at[counter,'col2'] = numRowsForLetter
        counter += 1

df2是您的输出数据帧!