Pandas Функция concat дает ValueError: форма переданных значений {передана}, индексы подразумеваются - PullRequest
0 голосов
/ 08 февраля 2020
result = df1.append(df2)
finalDf = pd.concat([principal_Df, result[['label']]], axis=1)

print(principal_Df.shape) //gives (12390, 5)
print(result.shape) // gives (12390, 9)

Конкатная строка дает

повышение ValueError (f "Форма переданных значений - {передано}, индексы подразумевают {подразумевается}") ValueError: Форма переданных значений - (18585, 6), индексы подразумевают (12390, 6)

Я не понимаю, почему он говорит 18585. Есть ли какой-либо другой способ объединения? Пожалуйста, помогите.

Редактировать: Я думаю, что я нашел проблему.

Результат печати дает мне следующее

      label
0       1.0
1       1.0
2       1.0
3       1.0
4       1.0
     ...
6190    0.0
6191    0.0
6192    0.0
6193    0.0
6194    0.0
[12390 rows x 1 columns]

, а печать Principal_Df дает

      principal component 1  ...  principal component 5
0                  -3.815308  ...              -0.921742
1                  -0.192024  ...              -0.449291
2                  -1.755755  ...               0.603834
3                  -0.663780  ...               0.711707
4                   1.288255  ...               1.115953
                      ...  ...                    ...
12385               0.819819  ...               0.534367
12386               1.343206  ...               0.153296
12387               2.327933  ...              -1.012771
12388              -0.180687  ...              -0.048978
12389              -0.240281  ...              -0.042431
[12390 rows x 5 columns]

Результат Df был первоначально получен путем добавления двух dfs

result = df1.append(df2)

И номера строк не являются продолжением от 0 до 12390, вместо этого они от 0 до 6194 и перезапускаются при От 0 до 6194. Может ли это быть проблемой? Как получить индексы строк результат для продолжения на df.append?

1 Ответ

0 голосов
/ 08 февраля 2020

Я понял это. Я должен был сделать result = df1.append(df2, ignore_index=True), тогда он продолжил бы индексы. Проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...