我想在下面的代码中复制行。如果bugs等于2
,我想将该行复制两次,或者如果bugs等于3
,我想将行复制三次,以此类推。在下面的例子中,如果我复制B(因为它等于2),我希望它的值减少1。the_result_i_want
的结果如下:
import pandas as pd
df = pd.DataFrame(data={
'id': ['A', 'B', 'C'],
'bugs' : [ 1, 2, 3],
})
the_result_i_want = pd.DataFrame(data={
'id': ['A', 'B','B', 'C','C','C'],
'bugs' : [1, 1, 1, 1, 1, 1],
})
提前感谢您!
def dup(df):
length = len(df)
new_df = pd.DataFrame(columns=['id','bugs'])
for row in range(length):
id_ = df['id'][row]
times = df['bugs'][row]
sub_df = pd.DataFrame({'id':[id_]*times, 'bugs':[1]*times})
new_df = pd.concat([new_df,sub_df])
return new_df
dup(df)