python - 如何在熊猫中其他 2 个单元格相等的情况下向前填充 na?
问题描述
我有一些缺少发票编号的客户交易数据。如果两个客户 ID 在行中相等并且交易金额相等,我想用前面的行值填充缺少的发票编号。日期并不重要。
数据的示例如下:
date customer amount invoice
01/13 A 10 1
02/13 B 20 2
03/13 B 20 NA
04/13 C 30 3
05/13 C 60 NA
06/13 D 50 4
我想要创造的是:
date customer amount invoice
01/13 A 10 1
02/13 B 20 2
03/13 B 20 2
04/13 C 30 3
05/13 C 60 NA - this NA remains because amount does not match
06/13 D 50 4
解决方案
更新:感谢@David Erickson 的评论,添加一个特定的列来填充。
您可以使用groupby
和ffill
。
df['invoice'] = df.groupby(['customer', 'amount'])['invoice'].ffill()
推荐阅读
- php - AJAX load() 不适用于表。我必须手动重新加载
- php - 获取去年周数的日期,php
- security - 允许框架祖先中的所有 https 域
- java - 列排序不会忽略大写字母
- django - 异常值:模块“storages.backends.gcloud”未定义“GoogleCloudMediaStorage”属性/类
- javascript - 如何根据javascript中的时间戳对3个排序数组进行排序
- excel - Excel VBA中的小计循环
- java - Java Writer 错误:Writer 类型中的方法 write(char[], int, int) 不适用于参数 (int, double, int, String)
- javascript - PostgreSQL:将日期与过程中的 if else 进行比较
- python-3.x - 如何在python中打印带有特定字符串的行?