Функция для выбора из столбцов pandas df

У меня есть эта тестовая таблица в pandas dataframe

Leaf_category_id session_id product_id 0 111 1 987 3 111 4 987 4 111 1 741 1 222 2 654 2 333 3 321 

введите описание изображения здесь

я хочу, чтобы

 for leaf_category_id 111: 

результат должен быть.

  session_id product_id 1 987,741 4 987 

Аналогично, я могу определить функцию, которая делает то же самое для всех идентификаторов leaf_category, моя таблица содержит больше строк, это всего лишь моментальный снимок.

One Solution collect form web for “Функция для выбора из столбцов pandas df”

Сначала вы можете использовать boolean indexing а затем groupby с применением join :

 df = pd.DataFrame({'Leaf_category_id':[111,111,111,222,333], 'session_id':[1,4,1,2,3], 'product_id':[987,987,741,654,321]}, columns =['Leaf_category_id','session_id','product_id']) print (df) Leaf_category_id session_id product_id 0 111 1 987 1 111 4 987 2 111 1 741 3 222 2 654 4 333 3 321 print (df[df.Leaf_category_id == 111] .groupby('session_id')['product_id'] .apply(lambda x: ','.join(x.astype(str)))) session_id 1 987,741 4 987 Name: product_id, dtype: object 

Редактировать комментарий:

 print (df.groupby(['Leaf_category_id','session_id'])['product_id'] .apply(lambda x: ','.join(x.astype(str))) .reset_index()) Leaf_category_id session_id product_id 0 111 1 987,741 1 111 4 987 2 222 2 654 3 333 3 321 

Или, если необходимо для каждого уникального значения в Leaf_category_id DataFrame :

 for i in df.Leaf_category_id.unique(): print (df[df.Leaf_category_id == i] \ .groupby('session_id')['product_id'] \ .apply(lambda x: ','.join(x.astype(str))) \ .reset_index()) session_id product_id 0 1 987,741 1 4 987 session_id product_id 0 2 654 session_id product_id 0 3 321 
  • pandas DataFrame comb_first и методы обновления имеют странное поведение
  • Заполнение пустого фрейма данных python с использованием циклов
  • Панды не будут заполнять () на месте
  • Как сделать стиль SQL непересекающимся или установить разницу на двух объектах Pandas DataFrame?
  • Переформатирование скребкового селенового стола
  • Получение всех строк со значением NaN
  • Запустите регрессию OLS с рамкой данных Pandas
  • Подсчитать количество кластеров ненулевых значений в Python?
  • как обозначить ось всеми именами строк из dataframe
  • Итерация через Pandas Groupby и слияние данных
  • В чем разница между функциями перекоса и эксцесса в пандах против скупых?
  •  
    Interesting Posts for Van-Lav

    Смешивание языков – Python и Objective-C

    Regex соответствует цифрам определенной длины

    Настройка Content-Type в объекте Django HttpResponse для приложения Shopify

    Темы и локальный прокси в Werkzeug. Применение

    Как сохранить имена столбцов, начинающиеся с минуса при использовании numpy.genfromtxt?

    Обучать две модели одновременно

    Создайте список, подобный объекту, используя bitarray

    Срезание списка с динамическим индексом в

    Где я могу найти сложность времени и пространства встроенных типов последовательностей в Python

    FFT в Numpy (Python), когда N не является степенью 2

    graph.write_pdf ("iris.pdf") AttributeError: объект 'list' не имеет атрибута 'write_pdf'

    Рассказывая Python о сохранении файла .txt в определенном каталоге в Windows и Mac

    Pandon Pandas – переупорядочивание столбцов в фрейме данных на основе имени столбца

    Остановка с витой стороны от глотательных исключений

    Установить тип содержимого почтового сообщения для ical вложения в «text / calendar»; Метод = ЗАПРОС»

    Python - лучший язык программирования в мире.