Почему мои фреймы данных создают новые строки при объединении? - PullRequest
2 голосов
/ 27 февраля 2020

Я пытаюсь объединить два фрейма данных. Один имеет форму 1725 rows x 3 columns, а другой - 1725 rows x 8 columns.

Я объединяю их с res = pd.concat([dataSet, onehotDataFrame], axis=1) и получаю фрейм данных формы 1810 rows x 11 columns.

Столбцы выглядят нормально, но почему в результате есть 85 дополнительных строк?

Важно отметить, что исходные данные имеют форму (1810, 7), и я использую

extractedCols = remove_columns(originalDF, remove_from_all)
noDuplacates = extractedCols.drop_duplicates() 

, чтобы получить (1725, 4) фрейм данных. Затем я удаляю другой столбец перед объединением.

Ответы [ 2 ]

2 голосов
/ 27 февраля 2020

Другим простым способом вы можете записать обе данные с помощью df.to_csv(), а затем снова прочитать ваши данные с помощью df.read_csv(). Таким образом, ваш индекс будет в порядке, как вам нравится.

2 голосов
/ 27 февраля 2020

Проблема в разных значениях индекса, поэтому вам нужно то же самое на DataFrame.reset_index с drop=True:

df = pd.concat([dataSet.reset_index(drop=True),
                onehotDataFrame.reset_index(drop=True)], axis=1)

Другая идея - установить один индекс за другим до concat:

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