我正在尝试使用if条件迭代DataFrame行,并在匹配条件之后立即添加新行
for (index,row) in T.iterrows():
if xxxx:
## add a new row right after current row
答案 0 :(得分:0)
您可以这样做,但是速度很慢,如果有人提供更好的解决方案,请多加赞赏。
a b
0 0.75 2.0
1 0.25 2.5
2 0.25 1.0
3 0.75 1.5
4 0.75 3.0
5 0.25 3.5
rows = []
for i, r in df.iterrows():
rows.append(r)
# let's b > 2 is the condition
if r['b'] > 2:
rows.append(pd.Series({'a': 1, 'b': 0}))
pd.DataFrame(rows).reset_index(drop=True)
a b
0 0.75 2.0
1 0.25 2.5
2 1.00 0.0
3 0.25 1.0
4 0.75 1.5
5 0.75 3.0
6 1.00 0.0
7 0.25 3.5
8 1.00 0.0