问题描述
在机器学习中,重复的数据会对结果有不利的影响,我们最好是可以去除重复的数据。
导入数据库
import pandas as pd
from lxml import objectify
import numpy as np
实际操作
首先把xml文件导入成为结构化的数据DataFrame
xml = objectify.parse(open("XMLData.xml"))
datalist = []
root = xml.getroot()
for child in root.getchildren():
str = []
for obj in child.getchildren():
str.append(obj.text)
datalist.append(str)
data = pd.DataFrame(
datalist, columns=['Number','String','Boolean'])
print(data)
可以看出原始的数据如下
Number String Boolean
0 1 First True
1 1 First True
2 2 Second False
3 3 Third False
4 4 Fourth False
其次,把找到重复的item,并且显示出来,本步骤不是必须的,只是为了展示
# 首先判断是否有重复
search = pd.DataFrame.duplicated(data)
print(search[==True])
显示结果如下,意思就是说,第1项是重复的数据。
1 True
dtype: bool
最后一步开始真正的移除重复的数据
data_clean = data.drop_duplicates()
print(data_clean)
结果显示为,可以看出第1项数据被移除了。
Number String Boolean
0 1 First True
2 2 Second False
3 3 Third False
4 4 Fourth False









网友评论