Перемещение уникального подсчета счета Pandas DataFrame - PullRequest
0 голосов
/ 16 апреля 2019

Я определяю функцию, которая применяется к каждой строке в моем фрейме данных, которая подсчитывает уникальные коды в столбце «Код» для каждого идентификатора в наборе. У меня работает код, но он невероятно медленный, и я использую большой набор данных. Я ищу другой подход, который ускорит операцию.

from datetime import timedelta as td
import pandas as pd

df['Trailing_12M'] = df['Date'] - td(365) #current date - 1 year as new column

def Unique_Count(row):
    """Creating a new df for each id and returning unique count to every row in original df"""
    temp1 = np.array(df['ID'] == row['ID'])
    temp2 = np.array(df['Date'] <= row['Date'])
    temp3 = np.array(df['Date'] >= row['Trailing_12M'])
    temp4 = np.array(temp1 & temp2 & temp3)
    df_Unique_Code_Count = np.array(df[temp4].Code.nunique())
    return df_Unique_Code_Count


df['Unique_Code_Count'] = df.apply(Unique_Count, axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...