У меня есть кадр данных pandas с двумя столбцами. Мне нужно изменить значения первого столбца, не влияя на второй, и вернуть весь кадр данных с измененными только значениями первого столбца. Как я могу это сделать, применяя в пандах?Pandas: Как я могу использовать функцию apply() для одного столбца?
ответ
Учитывая образец dataframe df
как:
a,b
1,2
2,3
3,4
4,5
, что вы хотите:
df['a'] = df['a'].apply(lambda x: x + 1)
, которая возвращает:
a b
0 2 2
1 3 3
2 4 4
3 5 5
'apply' никогда не должен использоваться в такой ситуации –
@TedPetrou, что вы совершенно правы, это был просто пример того, как применить общую функцию в одном столбце, как задал OP. –
Для одного столбца лучше использовать map()
, как это:
df = pd.DataFrame([{'a': 15, 'b': 15, 'c': 5}, {'a': 20, 'b': 10, 'c': 7}, {'a': 25, 'b': 30, 'c': 9}])
a b c
0 15 15 5
1 20 10 7
2 25 30 9
df['a'] = df['a'].map(lambda a: a/2.)
a b c
0 7.5 15 5
1 10.0 10 7
2 12.5 30 9
Почему 'map()' лучше, чем 'apply()' для одного столбца? – ChaimG
Я думаю, что это должно быть 'lambda a: a/2.' вместо этого. –
Вам вообще не нужна функция. Вы можете работать со всей колонкой напрямую.
Пример данные:
>>> df = pd.DataFrame({'a': [100, 1000], 'b': [200, 2000], 'c': [300, 3000]})
>>> df
a b c
0 100 200 300
1 1000 2000 3000
Половина все значения в столбце a
:
>>> df.a = df.a/2
>>> df
a b c
0 50 200 300
1 500 2000 3000
- 1. Pandas Apply возвращает матрицу вместо одного столбца
- 2. Pandas Apply Синтаксис
- 3. Как использовать функцию apply и какую функцию apply-family?
- 4. Как я могу использовать «hg shelf apply»?
- 5. pandas row specific apply
- 6. Использование Python, Pandas и Apply/Lambda, как я могу написать функцию, которая создает несколько новых столбцов?
- 7. Pandas: Как использовать apply для создания нового фрейма данных
- 8. Pandas transform() vs apply()
- 9. Как использовать функцию apply вместо вложенного цикла?
- 10. Использование apply() для одного столбца в матрице в R
- 11. pandas multiprocessing apply
- 12. apply function pandas dataframe
- 13. Как я могу использовать функцию jQuery более одного щелчка?
- 14. Использование CROSS APPLY для более чем одного столбца
- 15. Как использовать apply() с функцией, которая принимает более одного ввода?
- 16. Как я могу использовать функцию .one jquery?
- 17. Pandas Apply Function with Multiple ** Kwarg Аргументы
- 18. Включая имя группы в функцию apply pandas python
- 19. ipython Pandas: Как я могу сравнить разные строки одного столбца с метрикой расстояния Левенштейна?
- 20. Могу ли я применить векторизованную функцию к кадру данных pandas?
- 21. Как сделать функцию apply() быстрее?
- 22. Как я могу использовать функцию повышения для преобразования типов параметров?
- 23. Как я могу переопределить функцию date_hierarchy для одного ModelAdmin?
- 24. Как я могу использовать цикл для импорта файлов в pandas?
- 25. Как использовать функцию apply, чтобы не использовать столбцы имен?
- 26. Где я могу использовать функцию jqgrid remapColumns?
- 27. Pandas speedup apply on max()
- 28. Pandas: Обновить значения столбца
- 29. Как я могу использовать назначение pandas для создания нового столбца с несколькими условиями?
- 30. Медленная производительность pandas groupby/apply
Пожалуйста создавать некоторые входные данные выборки и желаемый выход. –
Вы почти никогда не должны использовать 'apply' в такой ситуации. Вместо этого используйте столбец. –