Pandas - 如果满足条件,则在下方添加 X 行
Pandas - Adding X number of rows below if condition is met
我有以下数据集:
week_numbs
0. 2
1 4
2. 1
3. 20
4. 3
5. 14
我想检查 week_numbs 是否 > 0 以及是否在下方添加 'week_numbs' # of empty rows。
因此,对于索引 0,下面有 2 个空行,对于索引 1,下面有 4 个空行,依此类推。
期望的输出:
week_numbs
0. 2
1.
2.
3. 4
4.
5.
6.
7.
8. 1
9.
谢谢。
IIUC,你可以这样做:
# repeat the rows
df2 = df.loc[df.index.repeat(df['week_numbs']+1)]
# mask the successive duplicates
df2 = df2.mask(df2['week_numbs'].eq(df2['week_numbs'].shift()), '')
输出:
week_numbs
0 2
0
0
1 4
1
1
1
1
2 1
2
3 20
3
3
3
...
我有以下数据集:
week_numbs
0. 2
1 4
2. 1
3. 20
4. 3
5. 14
我想检查 week_numbs 是否 > 0 以及是否在下方添加 'week_numbs' # of empty rows。 因此,对于索引 0,下面有 2 个空行,对于索引 1,下面有 4 个空行,依此类推。
期望的输出:
week_numbs
0. 2
1.
2.
3. 4
4.
5.
6.
7.
8. 1
9.
谢谢。
IIUC,你可以这样做:
# repeat the rows
df2 = df.loc[df.index.repeat(df['week_numbs']+1)]
# mask the successive duplicates
df2 = df2.mask(df2['week_numbs'].eq(df2['week_numbs'].shift()), '')
输出:
week_numbs
0 2
0
0
1 4
1
1
1
1
2 1
2
3 20
3
3
3
...