2016-06-29 2 views
2

Я импортировал CSV в Python с Pandas, и я хотел бы иметь возможность использовать его как столбцы как идентификатор транзакции, чтобы я мог создавать правила ассоциации.Идентификатор столбца к трансакшену для правил ассоциации на dataframes из Pandas Python.

(ссылка: https://github.com/antonio1695/Python/blob/master/nearBPO/facturas.csv)

Я надеюсь, что кто-то может помочь мне:

Использование UUID в качестве идентификатора транзакции для меня, чтобы иметь dataframe как следующее:

UUID  Desc 
123ex Meat,Beer 

Для того, для меня, чтобы получить правила ассоциации, такие как: {Meat} => {Beer}.

Кроме того, рекомендуется оценить библиотеку, чтобы сделать это простым способом.

Спасибо за ваше время.

+0

Извините, вы после 'df.loc [df ['UUID'] == some_id ',' Desc '] '? Или что-то вроде 'df.groupby ('UUID') ['Desc']. Apply (list)'? – EdChum

+0

Второй работал отлично! Тем не менее, тип, который он возвращает мне, - это ** pandas.core.series.Series **, есть ли способ сохранить его как dataframe? Если он доступен для редактирования, как и любой файл данных, и импортировать, как я думаю, вы просто ответили на мой вопрос. Поэтому вы можете опубликовать его в ответах, и я могу поставить вас +1 и пометить свой вопрос, как было сказано. :) @EdChum –

+0

Я также подумал о чем-то вроде этого: '' pd.pivot_table (df_du, index = ["UUID"], values ​​= ["Desc"]) '', но он не работает. @EdChum –

ответ

2

Вы можете объединить значения в список, выполнив следующие действия:

df.groupby('UUID')['Desc'].apply(list) 

Это даст вам то, что вы хотите, если вы хотите, чтобы UUID назад в качестве колонки можно назвать reset_index на выше:

df.groupby('UUID')['Desc'].apply(list).reset_index() 

также для серии вы можете экспортировать это в CSV же, как и с ДФ:

df.groupby('UUID')['Desc'].apply(list).to_csv(your_path) 

Возможно, вам нужно будет указать свой индекс перед экспортом или, если вам будет проще, просто reset_index, чтобы восстановить индекс как столбец, а затем позвонить to_csv