根据行值将行插入pandas数据框?

Bob*_*nOG 5 python numpy insert dataframe pandas

我有一个DataFrame:

df = pd.DataFrame({'B':[2,1,2],'C':['a','b','a']})
  B C
0 2 'a'
1 1 'b'
2 2 'a'
Run Code Online (Sandbox Code Playgroud)

我想在任何'b'出现之前插入一行,这是该行的副本,但是'b'更改为'c',所以我最终得到这个:

  B C
0 2 'a'
1 1 'b'
1 1 'c'
2 2 'a'
Run Code Online (Sandbox Code Playgroud)

对于我的生活,我无法弄清楚如何做到这一点.

Mad*_*one 5

这是一种方法:

duplicates = df[df['C'] == 'b'].copy()
duplicates['C'] = 'c'
df.append(duplicates).sort_index()
Run Code Online (Sandbox Code Playgroud)