Tag: pandas

Эквивалент R / ifelse в Python / Pandas? Сравнить столбцы строк?

Моя цель – сравнить два столбца и добавить столбец результатов. R использует ifelse, но мне нужно знать путь панд. р > head(mau.payment) log_month user_id install_month payment 1 2013-06 1 2013-04 0 2 2013-06 2 2013-04 0 3 2013-06 3 2013-04 14994 > mau.payment$user.type <-ifelse(mau.payment$install_month == mau.payment$log_month, "install", "existing") > head(mau.payment) log_month user_id install_month payment user.type […]

Pandas: получать значения из столбца, которые отображаются больше, чем X раз

У меня есть кадр данных в пандах и хотел бы получить все значения определенного столбца, которые появляются больше, чем X раз. Я знаю, что это должно быть легко, но почему-то я не схожу с моих текущих попыток. Вот пример: >>> df2 = pd.DataFrame([{"uid": 0, "mi":1}, {"uid": 0, "mi":2}, {"uid": 0, "mi":1}, {"uid": 0, "mi":1}]) >>> […]

панды, разрезанные бесконечными верхними / нижними границами

Документация pandas cut() гласит: «Значения вне границ будут NA в результирующем категориальном объекте». Это затрудняет работу, когда верхняя граница не обязательно ясна или важна. Например: cut (weight, bins=[10,50,100,200]) Будут выпускать бункеры: [(10, 50] < (50, 100] < (100, 200]] Таким образом, cut (250, bins=[10,50,100,200]) приведет к образованию NaN , как будет cut (5, bins=[10,50,100,200]) . […]

Pandas Dataframe разделился на сеансы

Это расширение моего вопроса . Сделать это проще. Предположим, у меня есть фрейм данных pandas, как показано ниже. df = pd.DataFrame([[1.1, 1.1, 2.5, 2.6, 2.5, 3.4,2.6,2.6,3.4], list('AAABBBBAB'), [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3]]).T df.columns = ['col1', 'col2','col3'] dataframe: col1 col2 col3 0 1.1 A 1.1 1 1.1 A 1.7 2 2.5 A 2.5 3 2.6 […]

Как перебирать периоды времени в пандах

Подумайте, у меня есть Series pandas с DatetimeIndex с ежедневной частотой. Я хочу перебирать эту Series с произвольной частотой и произвольным обратным окном. Например: Итерация полгода с обратным окном 1y. Что-то вроде этого было бы идеальным: for df_year in df.timegroup(freq='6m', lookback='1y'): # df_year will span one year of daily prices and be generated every 6 […]

Pandas: замена на .ix

Дайте обновление pandas 0.20.0 и устаревшее .ix , мне интересно, какой самый эффективный способ получить тот же результат, используя оставшиеся .loc и .iloc . Я просто ответил на этот вопрос , но второй вариант (не используя .ix ) кажется неэффективным и многословным. Snippet: print df.iloc[df.loc[df['cap'].astype(float) > 35].index, :-1] Правильно ли это, когда вы используете фильтрацию […]

эффективный счетчик, отличный от столбцов DataFrame, сгруппированных по строкам

Каков самый быстрый путь (в пределах разумной pythonicity) для подсчета различных значений, для столбцов одного и того же dtype , для каждой строки в DataFrame ? Подробности: у меня есть DataFrame категориальных результатов по предмету (в строках) по дням (в столбцах), похожим на что-то, генерируемое следующим. import numpy as np import pandas as pd def […]

pandas: как выполнять несколько групповых операций

У меня больше опыта работы с data.table , но я пытаюсь узнать pandas . В data.table я могу сделать что-то вроде этого: > head(dt_m) event_id device_id longitude latitude time_ category 1: 1004583 -100015673884079572 NA NA 1970-01-01 06:34:52 1 free 2: 1004583 -100015673884079572 NA NA 1970-01-01 06:34:52 1 free 3: 1004583 -100015673884079572 NA NA 1970-01-01 06:34:52 […]

Pandas date_range, начиная с даты окончания до даты начала

Я пытаюсь создать диапазон полугодичных дат, используя Python. Pandas предоставляет функцию pd.date_range чтобы помочь с этим, однако я бы хотел, чтобы мой диапазон дат начинался с даты окончания и повторялся назад. Например, учитывая ввод: start = datetime.datetime(2016 ,2, 8) end = datetime.datetime(2018 , 6, 1) pd.date_range(start, end, freq='6m') Результат: DatetimeIndex(['2016-02-29', '2016-08-31', '2017-02-28', '2017-08-31', '2018-02-28']) Как […]

Укажите имя столбца при чтении файлов csv pandas

Это пример моего набора данных. В [54]: user1 = pd.read_csv('dataset/1.csv') In [55]: user1 Out[55]: 0 0.69464 3.1735 7.5048 0 0.030639 0.149820 3.48680 9.2755 1 0.069763 -0.299650 1.94770 9.1120 2 0.099823 -1.688900 1.41650 10.1200 3 0.129820 -2.179300 0.95342 10.9240 4 0.159790 -2.301800 0.23155 10.6510 5 0.189820 -1.416500 1.18500 11.0730 Как нажать первый столбец и добавить столбец […]

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