根据条件在 pandas 数据框中插入一行

insert a row in pandas dataframe based on conditions

根据另一列在 pandas df 中插入一行

样本 df

count A
yes 23
yes 23
yes 40
yes 40
yes 40

我想要的结果 -> 在类似 A 值的末尾插入 'result'

count A
yes 23
yes 23
result
yes 40
yes 40
yes 40
result

感谢任何帮助

你可以使用这个逻辑

import pandas as pd

df = pd.DataFrame({"count": ["yes", "yes", "yes", "yes", "yes"],
                   "A": [23, 23, 40, 40, 40]})

new_df = pd.DataFrame(columns=["count", "A"])

# df['shift'] = df['A'].shift() != df['A']
# df['cumsum'] = df['shift'].cumsum()

for k, v in df.groupby((df['A'].shift() != df['A']).cumsum()):

    new_df = new_df.append(v[["count", "A"]], ignore_index=True)
    new_df = new_df.append({"count": "result", "A": None}, ignore_index=True)

print(new_df)

输出:

    count     A
0     yes    23
1     yes    23
2  result  None
3     yes    40
4     yes    40
5     yes    40
6  result  None