Dlaczego otrzymuję ten błąd?
Ufunc 'add' nie zawierał pętli z typami dopasowywania podpisów dtype
Kod:
cols = df.columns.tolist()
cols = np.array (cols)
cols2 = cols[:17] + cols[19:22] + cols [18]
Dzięki!
0
Amit S
19 grudzień 2019, 14:51
1 odpowiedź
Istnieją 2 problemy
- operator
+
, gdy jest używany na tablicynumpy
, jest interpretowany jako dodawanie liczbowe, a nie konkatenacja listy, stąd błąd dotyczący pasującego typu dtype. Zamiast dodawać, należy użyćnp.concatenate
cols[18]
nie jest tablicą - jest elementem tablicy. Nie możesz dodać liczby i tablicy (jeśli chcesz dodać element do tablicy)
cols2 = np.concatenate([cols[:17], cols[19:22], [cols[18]]])
Lub możesz zachować kolumny jako listę (nie konwertując jej na tablicę numpy
i używaj dodawania do listy):
cols = df.columns.tolist()
cols2 = cols[:17] + cols[19:22] + [cols[18]]
0
9mat
19 grudzień 2019, 15:01
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.
cols = df.columns.tolist(); cols2 = cols[:11] + cols[15:21] + cols[21:22]
(ale nie konwertujcols
nanp.array
)