Строки в столбцы, основанные на другом столбце хорошо, вот и все - PullRequest
0 голосов
/ 02 июля 2019

Я объединил два кадра данных, но теперь есть повторяющиеся строки.Я хочу переместить мои строки в столбцы, основанные на / сгруппированные по значению столбца.

Я уже объединил два кадра данных:

df_merge = pd.merge(top_emails_df, keyword_df, on='kmed_idf')

Новый кадр данных выглядит следующим образом:

import pandas as pd
df = pd.DataFrame({'kmed_idf': ['1', '1', '1', '2', '2'], 
               'n_docs': [796, 796, 796, 200, 200],
               'email_from: ['foo', 'foo', 'foo', 'bar', 'bar'})

Я попытался сложить фрейм данных:

newtest = df_merge.set_index(['kmed_idf']).stack(level=0)
newtest= newtest.to_frame()

Но это только создало серию.Когда он конвертируется в фрейм данных, он все еще не очень полезен.

То, что я хотел бы, это фрейм данных, где каждая строка представляет собой уникальное значение kmed_idf, а строки теперь являются столбцами.Примерно так:

import pandas as pd
df = pd.Dataframe({'kmed_idf': ['1', '2', '3'],
                   'n_docs': [796],
                   'n_docs2': [796],
                   'n_docs3,: [796]})

Это облегчит удаление дубликатов.Я также пытался использовать функцию удаления дубликатов панд, но безрезультатно.

1 Ответ

0 голосов
/ 02 июля 2019

Если все, что вам нужно, это удалить дубликаты, я думаю, что функция .drop_duplicates должна быть подходящей ...

Я не знаю, почему она не сработала для вас, но, пожалуйста,попробуйте это:

import pandas as pd

df = pd.DataFrame({'kmed_idf': ['1', '1', '1', '2', '2'],
                   'n_docs': [796, 796, 796, 200, 200],
                   'email_from': ['foo', 'foo', 'foo', 'bar', 'bar']})

df.drop_duplicates(inplace=True)

print(df)

Вывод:

  email_from kmed_idf  n_docs
0        foo        1     796
3        bar        2     200
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...