有没有办法识别数据帧中的虚拟数据并将其删除?在我下面的数据中,我需要删除每列中的随机字符
import pandas as pd
import numpy as np
data = {'Name' : ['Tom', 'AABBCC', 'Joseph', 'Krish', 'XXXX', 'John', 'U'],
'Address1': ['High Street', 'uwdfjfuf', '00000', 'Green Lane', 'Kingsway', 'Church Street', 'iwefwfn'],
'Address2': ['Park Avenue', 'The Crescent', 'ABCXYZ', 'Highfield Road', 'Stanley Road', 'New Street', '1ca2s597']}
contact_details = pd.DataFrame(data)
#Code to identify and delete dummy data
print(contact_details)
上述代码的输出:
Name Address1 Address2
0 Tom High Street Park Avenue
1 AABBCC uwdfjfuf The Crescent
2 Joseph 00000 ABCXYZ
3 Krish Green Lane Highfield Road
4 XXXX Kingsway Stanley Road
5 John Church Street New Street
6 U iwefwfn 1ca2s597
如果没有对每一列的好值和坏值的良好定义,您实际上无法自动执行任何操作。有几个数据清理技巧可用于使这些值更容易在大型数据集中找到
从原始数据集开始:
您可以做的第一件事是获取列的唯一值,以减少正在查看的值的数量
接下来,您可以对它们进行排序,以便任何近似的重复项都更容易突出。几乎重复的情况经常发生,数据输入错误
例如,如果您看到了值
' Tom'
、'Tom'
和'Tom '
,您知道需要从名称中去掉空白对列中的唯一值进行排序的另一个好处是,以数字开头的字符串值将全部位于列表的开头,小写字符串将在列表的末尾进行排序。这使得您的两个
'Address1
值脱颖而出这为我提供了唯一值的列表:
目前还不清楚第一个值是否有效,但最后两个值看起来很可疑。如果我想删除这些,我可以通过选择坏值列表中
Address1
为非的所有行来过滤掉它们这给了我输出:
第2行肯定是可疑的,第4行是可疑的,但我认为您了解了如何查找和删除看起来像占位符或只是坏数据的值
你调查过你的数据吗?“好数据”总是由小写和大写字符组合而成吗?如果是这样,您可以创建一个函数来查找这些虚拟数据,例如:
相关问题 更多 >
编程相关推荐