我正在尝试从两列中删除重复项。如下所示,阿拉巴马州和阿拉斯加州。
但是,当我在下面查询时,它不会检测到重复项。当我使用drop_duplicates()时也一样。我已经检查过没有空格,因为它们也有相同的字符长度。有谁知道什么是错的?
编辑:在下面添加了示例代码。结果是相同的,没有空格,无法检测重复。
list1=['Alabama','Alabama','Alabama','Alabama','Alaska']
list2=['Alabama','Auburn','Florence','Jacksonville','Alaska']
df=pd.DataFrame(list1, columns=['States'])
df['Region']=pd.DataFrame(list2)
df.duplicated()
答案 0 :(得分:2)
我认为您需要ne
来比较列:
instructions.zipWithIndex.foreach { case (value, index) =>
value match {
case WhileStmt() => {
---> Here I want to add elements to the instructions list.
}
case IfStmt() => {
...
}
_ => {
...
}
时序:
df[df['States'].ne(df['Region'])]
答案 1 :(得分:1)
看起来您想直接比较使用不等式可以轻松完成的列:
In [93]:
df[df['States'] != df['Region']]
Out[93]:
States Region
1 Alabama Auburn
2 Alabama Florence
3 Alabama Jacksonville
duplicated
在单个列或所有列中共同查找重复值,它在此处失败,因为“Alabama”在一行中只出现一次,如果它出现在多行中则会删除它们
请注意,内置方法ne
表示not equal
更快但可能更不可读
答案 2 :(得分:1)
pd.DataFrame.duplicated()方法检测整个数据框中的重复行。但是,它不会检测行中所需的重复值。
答案 3 :(得分:1)
如果要删除,可以获取索引并通过索引
删除它>
输出低于
>
df.drop_duplicates按行方式工作,因此如果有超过1行包含相同的值,它将被删除 示例如下
>
第4,5行完全相同,因此除了第4行之外的所有行都将被删除,在drop_duplicates之后df将会是这样的
>