Python Сравните столбцы Dataframe и замените их содержимым на основе префикса - PullRequest
0 голосов
/ 17 декабря 2018

Все еще относительно плохо знаком с работой в Python, и у меня возникают некоторые проблемы.

В настоящее время у меня есть небольшая программа, которая принимает файлы CSV, объединяет их, помещает их в фрейм данных и затем преобразует в Excel.

Что я хочу сделать, это сопоставить значения «Team» и «Abrev» из столбцов фрейма данных на основе префикса его значений, а затем заменить столбец «Team» содержимым столбца «Abrev».

Team         Games  Points  Abrev
Arsenal      38     87      ARS
Liverpool    38     80      LIV
Manchester   38     82      MAN
Newcastle    38     73      NEW

Мне бы хотелось, чтобы в конечном итоге это выглядело следующим образом:

Team  Games  Points  
ARS   38     87      
LIV   38     80    
MAN   38     82      
NEW   38     73     

Итак, я думаю, что мне нужен цикл for для перебора количества строк в кадре данных,и тогда мне нужен способ сравнить содержимое по префиксу в колонке Abrev.Если первые три буквы совпадают, замените, но я не знаю, как это сделать, потому что я стараюсь не кодировать их жестко.

Может ли кто-нибудь помочь или указать мне правильное направление?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вы можете использовать операцию apply для получения желаемого результата.

df = pd.read_csv('input.csv')
df['Team'] = df.apply(lambda row: row['Team'] if row['Team'][:3].upper()!= row['Abrev'] 
                       else row['Abrev'],axis=1)
df.drop('Abrev', axis=1, inplace=True)

Это дает вам:

Team  Games  Points  
ARS   38     87      
LIV   38     80    
MAN   38     82      
NEW   38     73    
0 голосов
/ 17 декабря 2018

pandas - это то, что вы ищете для импорта панд как pd

df = pd.read_csv('input.csv')
df['team'] = df['Abrev']
df.drop('Abrev', axis=1, inplace=True)
df.to_excel('output.xls')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...