根据列值复制数据框的特定行

嗨,我有以下数据框

  weather     day      month       activity
  sunny     Monday     April      go for cycling
  raining   Friday     December   stay home

我想要的是在不考虑活动列的情况下将行复制 5 次

所以输出应该是

weather     day      month       activity
 sunny     Monday     April      go for cycling
 sunny     Monday     April
 sunny     Monday     April
 sunny     Monday     April
 sunny     Monday     April
 raining   Friday     December   stay home
 raining   Friday     December
 raining   Friday     December
 raining   Friday     December
 raining   Friday     December
 raining   Friday     December

回答

对重复行使用Index.repeatwith DataFrame.loc,然后用with替换重复activity的行:Series.maskIndex.duplicated

df = df.loc[df.index.repeat(5)]
df['activity'] = df['activity'].mask(df.index.duplicated(), '')
df = df.reset_index(drop=True)
print (df)
   weather     day     month        activity
0    sunny  Monday     April  go for cycling
1    sunny  Monday     April                
2    sunny  Monday     April                
3    sunny  Monday     April                
4    sunny  Monday     April                
5  raining  Friday  December       stay home
6  raining  Friday  December                
7  raining  Friday  December                
8  raining  Friday  December                
9  raining  Friday  December                


以上是根据列值复制数据框的特定行的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>