问题描述
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是您的输出数据帧!