基于列值复制数据帧的特定行



hi我有以下数据帧

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.repeatDataFrame.loc,然后用Index.duplicated:用Series.mask替换重复的activity

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                

最新更新