В чем разница между .map (str) и .astype (str) в фрейме данных - PullRequest
0 голосов
/ 10 июня 2018

У меня есть фрейм данных с именем столбца col1 и col2 записей целочисленного типа.Я хочу соединить записи col1 с col2 вместе с '.' (Точка) между ними.Я искал и нашел, чтобы добавить две записи столбца:

df['col'] = df['col1'].map(str) + df['col2'].map(str)

и для добавления точки:

df['col'] = df['col1'].astype(str) + '.'

, но я хочу что-то вроде этого

df['col'] = each entries of df['col1'] + '.' + each entries of df['col2']

В чем разница между .map (str) и .astype (str).и который подходит в моем случае.

1 Ответ

0 голосов
/ 10 июня 2018

map будет принимать каждый элемент исходного списка и применять функцию или лямбда-выражение.В этой компактной форме ваша функция str().У него больше приложений, чем это.Например, вы можете редактировать каждый элемент, возвращая новый список.Это возможно, потому что ячейка DataFrame является преобразуемой в строку.

astype - это функция Pandas для DataFrames (и numpy для numpy массивов), которая приведёт объект к указанному типу, и поэтому здесь это делает мало практичнымразница, за исключением того, что она может быть более производительной, поскольку это всего лишь 1 операция по сравнению с несколькими вызовами, и она изначально определена в Pandas.Время - это проверить.Следует отметить: приведение astype, также как и map, создает новый объект, не изменяя существующий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...