У меня есть DataFrame A, как указано ниже, и я хочу найти строки с одинаковыми значениями в своих первых трех столбцах.Как найти одинаковые строки в DataFrame - python
import pandas as pd
import io
import numpy as np
import datetime
A= """
c0 c1 c2 c3 c4
0 1 a d 3 4
1 1 a c 0 0
2 1 a d 3 1
3 1 b c 0 0
4 2 b d 8 5
5 2 b d 3 3
"""
df = pd.read_csv(io.StringIO(A), delimiter='\s+')
df2= pd.DataFrame(df, columns=['c0', 'c1', 'c2'])
for i in range(0,4):
row1 = df2.irow(i)
row2 = df2.irow(i+1)
val=all(unique_columns = row1 != row2)
print(i)
Я хочу, чтобы напечатать 2, 5
.
Ну, это не сработает, даже если бы он не смог получить строки, которые следуют друг за другом.
В качестве альтернативы, я попробовал np.unique(df2)
, чтобы узнать, отличается ли число столбцов от df2
, что тоже не сработало.
Любая помощь приветствуется.
... но только строка 2 имеет то же значение в с0 c2 как строка 0, строки 6 делают не. –
@CTZhu, да, но строка 5 имеет то же значение, что и строка 4. – Ana