根据列值复制数据框的特定行
duplicate specific rows of a dataframe based on column values
您好,我有以下数据框
weather day month activity
sunny Monday April go for cycling
raining Friday December stay home
我想要的是将行复制 5 次而不考虑 activity 列
所以输出应该是
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.repeat
with DataFrame.loc
for repeated rows and then replace duplicated activity
by Series.mask
with Index.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
您好,我有以下数据框
weather day month activity
sunny Monday April go for cycling
raining Friday December stay home
我想要的是将行复制 5 次而不考虑 activity 列
所以输出应该是
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.repeat
with DataFrame.loc
for repeated rows and then replace duplicated activity
by Series.mask
with Index.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