2015-12-21 8 views
0

У меня есть рамка данных pandas с колонками Cust_email,visit_date_time, transaction_date_time. Cust_email содержит идентификатор электронной почты клиента, visit_date_time содержит метку времени, когда клиент посетил продукт, а transaction_date_time содержит метку времени транзакции, если клиент купил этот продукт, иначе поле остается пустым.Подмножество данных из pandas

Теперь я хочу, чтобы подмножество панд (все столбцы), которые содержат только те идентификаторы адресов электронной почты, которые сделали по крайней мере одну транзакции, то есть, я хочу, чтобы удалить все эти идентификаторы адресов электронной почты, которые имеют нулевые записи для всех их visit_date_time,transaction_date_time комбинации

+0

Так что вы хотите ' ДФ [ДФ [ 'transaction_date_time']. NotNull()] '? – EdChum

+0

Нет, например, 'abc @ gmail.com' имеет три записи, из которых две записи не имеют' transaction_date_time'. Но так как он сделал одну транзакцию, мне нужны и его две записи. –

+0

, так что вы хотите 'df ['df [' Cust_email ']. Isin (df.loc [df [' transaction_date_time ']. Notnull(),' Cust_email ']. Unique())'? – EdChum

ответ

0

вы можете использовать isin для проверки членства ваших идентификаторов клиентов, мы фильтруем ФР первые из тех сделок, которые не завершены, получить идентификационный номер клиента от этих строк и перейти к isin:

df['df['Cust_email'].isin(df.loc[df['transaction_date_time'].notnull(), 'Cust_email'].unique()) 
Смежные вопросы