2016-04-13 2 views
-3

Я пытаюсь сопоставить этот столбец данных с столбцом. Я хочу сопоставить первую ячейку столбца 1 с первой ячейкой столбца 3, затем вторую ячейку столбца с первой ячейкой столбца 3 и так далее. Мое требование - получить результат в Boolean. Я новичок и работаю на python уже неделю.Сравнение столбцов и столбцов с использованием pandas или numpy в Python

Мои данные - 1800 строк и 35 столбцов. То, что я пытаюсь сделать, это просто использовать =(A2=C2) из excel, но в python.

Укажите, пожалуйста, точный код для данного фрейма.

Заранее спасибо

Data Set

+0

Вы после 'df [[2]] == df [[0]]'? – MaxU

+0

Я попробовал (1, Column1) = (1, Column3) и аналогичный –

+0

Maxu - Да, но я не уверен, как это сделать за весь столбец, и что слишком ячейка по ячейке –

ответ

0

попробовать это:

In [28]: df 
Out[28]: 
    a b c 
0 5 1 2 
1 5 2 8 
2 3 3 8 
3 3 1 4 
4 6 3 4 
5 1 0 0 
6 6 0 0 
7 4 4 3 
8 3 0 4 
9 9 0 9 

In [29]: df.iloc[:, 0] == df.iloc[:, 2] 
Out[29]: 
0 False 
1 False 
2 False 
3 False 
4 False 
5 False 
6 False 
7 False 
8 False 
9  True 
dtype: bool 

, если вам нужен новый булева колонок:

In [30]: df['bool'] = df.iloc[:, 0] == df.iloc[:, 2] 

In [31]: df 
Out[31]: 
    a b c bool 
0 5 1 2 False 
1 5 2 8 False 
2 3 3 8 False 
3 3 1 4 False 
4 6 3 4 False 
5 1 0 0 False 
6 6 0 0 False 
7 4 4 3 False 
8 3 0 4 False 
9 9 0 9 True 
+0

MaxU - Я не могу поблагодарить достаточно, я потратил 3 дня, пытаясь понять это. –

+0

Он работал хорошо, как вы упомянули ... –

0

При сравнении двух Numpy массивов таких же размеров, вы получаете массив булевы - один для каждого элемента массива.

Так что если а = np.array ([1,2,3,4,5]) б = np.array ([1,3,2,5,5])

Вы получаете

a==b ==> [True, False, False, False, True] 
+0

Спасибо ,, он работал с помощью df.iloc [:, 0] == df.iloc [:, 2] –

Смежные вопросы