У меня есть data frame
, который состоит из 3 столбцов:
Id, Summary, Description
Я пытаюсь сделать, если какие-либо значения в Description
точно соответствуют этой строке: «Это пустое описание»затем замените это содержимое на Summary
.
Например:
До:
Id Summary Description
0 1 Cool song This is an empty description
1 2 It was ok was ok because needed more melody
2 3 this was sick This is an empty description
3 4 not a fan i prefer classical over rock
4 5 alright This is an empty description
После:
Id Summary Description
0 1 Cool song Cool song
1 2 It was ok was ok because needed more melody
2 3 this was sick this was sick
3 4 not a fan i prefer classical over rock
4 5 alright alright
У меня есть код, который я использую работает, но мне интересно, есть ли лучший способ, потому что я получаю предупреждение:
Ввод:
df.Description = np.where(df.Description == "This is an empty description", df.Summary, df.Description)
Вывод:
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py:3643: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
self[name] = value