Заменить строки из разных файлов в соответствии с условием - PullRequest
0 голосов
/ 26 октября 2018

Я новичок в программировании на Python, и у меня возникла проблема, связанная с манипулированием данными в CSV-файлах.

По сути, у меня есть 2 CSV-файла, которые я импортирую благодаря pd.read_csv, они выглядят как

df1, который имеет 9 строк, включая заголовки и 5 столбцов

df2, в котором 65 строк, включая заголовки и те же 5 столбцов

Я хочу заменить предложения в df1 предложениями в df2 относительно 'NBIMAGE' и сохранить третий CSV-файл с именем df3 (или просто сохранить измененную версию df1 как df1 без нового файла)

Другими словами, всякий раз, когда 'nBIMAGE' в df1 = 'NBIMAGE' в df2 (даже если строки разные), он должен заменить SENTENCE этой строки в df1 на предложение тем же 'NBIMAGE' в df2

что я сделал, это

df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')

df1['newcolumn'] = 
np.where (df1['NBIMAGE'] == df2['NBIMAGE'], df2['SENTENCE'], 0) 

но выводит ValueError: Can only compare identically-labeled Series objects

Я не хочу использовать замену, так как мне нужно указать, что заменить, но я думаю, что использование numpy для строк тоже не лучшее решение ....

Надеюсь, вы поняли мою проблему и хотели бы поблагодарить вас всех за помощь!

1 Ответ

0 голосов
/ 26 октября 2018
df3 = df1.drop('SENTENCE',axis=1).merge(df2[['NBIMAGE','SENTENCE']],how='left', on='NBIMAGE')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...