python - 根据条件在熊猫数据框中插入一行
问题描述
根据另一列在 pandas df 中插入一行
样本df
数数 | 一个 |
---|---|
是的 | 23 |
是的 | 23 |
是的 | 40 |
是的 | 40 |
是的 | 40 |
我想要的结果 -> 在类似 A 值的末尾插入“结果”
数数 | 一个 |
---|---|
是的 | 23 |
是的 | 23 |
结果 | |
是的 | 40 |
是的 | 40 |
是的 | 40 |
结果 |
任何帮助表示赞赏
解决方案
你可以使用这个逻辑
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
推荐阅读
- haskell - 数据构造函数不在范围内 - Haskell
- javascript - 使用构造函数移动心脏
- javascript - React Native 上的 Like 按钮?我不能让它动态更新
- php - WooCommerce:获取选择的包裹运输方式并将其存储为订单项目元数据
- haskell - Optparse-applicative:连续解析(ReadM)
- node.js - 如何在打开另一个本地字段之前解决一个本地字段中所有外国字段的mongodb聚合查找返回结果
- java - mTLS/TLS Redis 6 问题 Java
- sql - 访问“f0_”字段
- typescript - 测试时如何在异步 api 回调中处理 Promise.all
- linux - Linux:如果没有设置 SETUID 和 Capabilities,为什么我可以使用 ping?