【发布时间】:2019-01-28 04:25:55
【问题描述】:
我使用我创建的函数制作了一个数据框
data = generate_xml()
然后,我根据列名制作数据框的子集,在本例中称为 WalmartIDS 和 ASINS。下面也是数据框的示例
walmartIDS = data.loc[:,['WalmartIDS','ASINS']]
>>
WalmartIDS ASINS
602 20511489 B077BS6737
603 10311487 B077BMHVG7
604 10311302 B077BRTYCS
605 152381151 B077YW9PTQ
606 The-Holiday-Aisle-Projection-Kaleidoscope-Spider-Airblown-Inflatable- Halloween-Decoration-THDA5581.html B076CNN6K5
607 51409868 B0756DMVSC
608 51410962 B0756FKLCV
609 51411020 B0756F3F6J
610 51411529 B0756FDM74
611 915505165 B076W25SDZ
612 400796633 B076VM75ZF
如您所见,有时不良数据会进入 WalmartIDS 列。因此,我想通过删除新创建的 walmartIDS 数据框中的所有行来过滤掉它,其中 WalmartIDS 列包含整数以外的字符。我不想更改数据框的数据版本,因为它是原始数据。
walmartIDS[walmartIDS.WalmartIDS != '^[-+]?[0-9]+$']
但是,上面的解决方案似乎没有做任何事情,实际上我仍然可以看到应该删除的坏数据(在示例中为第 606 行)。
这样做的正确方法是什么?
【问题讨论】: