Как сравнить два столбца строк в Python? - PullRequest
0 голосов
/ 08 октября 2018

Мой CSV-файл содержит 20 столбцов, и мне нужно взять данные только тех адресов, которые имеют отношение к моему исследованию, поэтому я сравниваю столбец, содержащий все адреса, со столбцом, содержащим только конкретный адрес.

Яполучая "ключевую ошибку", говоря, что индекс selected_city не существует:

import csv
import os
import pandas as pd
data_new = pd.read_csv('file1.csv', encoding= "ISO-8859–1")
print(data_new)
for i in rows:
    if str(data.loc['selected_city'] == data.loc['Charge_Point_City'])
print(data.Volume,data.Charge_Point_City)

1 Ответ

0 голосов
/ 08 октября 2018

Рассмотрите возможность использования встроенной функции .isin().

Например:

s = pd.Series(['a','b','c', 'b','c','a','b'])

Теперь s выглядит следующим образом:

0    a
1    b
2    c
3    b
4    c
5    a
6    b

Допустим, вы хотите сохранить только те строки, где s находится в меньшей серии:

smol = pd.Series(['a','b'])
s[s.isin(smol)]

Вывод:

0    a
1    b
3    b
5    a
6    b

Для вашего конкретного случая использования вы, вероятно, захотите

data = data[data['selected_city'].isin(data['Charge_Point_City'])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...