【发布时间】:2017-11-15 05:16:20
【问题描述】:
我有一个如下所示的 pandas 数据框:
对于现有的相同产品类型,如何使用相同的保单编号填充空白单元格?
任何建议将不胜感激。谢谢
对不起,我现在添加我的示例数据框:
sample=[{'POLICY NUMBER':' ','PRODUCT TYPE':'MED'},{'POLICY NUMBER':' ','PRODUCT TYPE':'MED'},{'POLICY NUMBER': '433M49763','产品类型':'MED'},{'政策编号':'433M86968','产品类型':'MED'},{'政策编号':' ','产品类型':'TED '},{'政策编号':'566D158635','产品类型':'TED'},{'政策编号':'655D158635','产品类型':'TED'},{'政策编号':' 789D158635','产品类型':'TED'}]
pd.DataFrame(样本)
请注意,空单元格中也有“”,它们不是整个数据帧中的 NaN
补充上面的问题。如果我有上述更改的数据框。我如何获得以下数据框:
【问题讨论】:
-
我觉得不需要,还需要
groupby -
df.groupby('Prod type')['Policy Number'].transform(lambda x: x.ffill().bfill()) -
@COLDSPEED,不完全是骗局,这个是 groupby 和 fillna,尽管我相信也会有骗局
-
或者
df.groupby('Prod type')['Policy Number'].transform(lambda x: x.dropna().iat[0]) -
知道了,我不太确定,无法测试是因为没有样本 df。非常感谢:)