Mam tablicę Numpy 2-D, w której jedna kolumna ma wartości Boolean, tj. True
/False
. Chcę przekonwertować go na liczbę całkowitą odpowiednio 1
i 0
, jak mogę to zrobić?Jak przekonwertować z tablicy boolean na int tablicy w python
E.g. moja data[0::,2]
jest logiczna, próbowałem
data[0::,2]=int(data[0::,2])
, ale to daje mi błąd:
TypeError: only length-1 arrays can be converted to Python scalars
Moje pierwsze 5 rzędów tablicy są:
[['0', '3', 'True', '22', '1', '0', '7.25', '0'],
['1', '1', 'False', '38', '1', '0', '71.2833', '1'],
['1', '3', 'False', '26', '0', '0', '7.925', '0'],
['1', '1', 'False', '35', '1', '0', '53.1', '0'],
['0', '3', 'True', '35', '0', '0', '8.05', '0']]
Nie może to być tablica 2D, ponieważ w tablicy 2D wszystkie elementy mają ten sam typ. Prawdopodobnie masz uporządkowaną tablicę. Czy mógłbyś, proszę, pokazać kilka pełnych wierszy od niego i jego 'dtype'? – kirelagin
OK, te cytaty powinny Cię poinformować, że masz tablicę ciągów znaków. Tak więc, znowu w numpy wszystkie elementy tablicy 2D muszą mieć ten sam typ. Potrzebujesz albo [uporządkowanych tablic] (http://docs.scipy.org/doc/numpy/user/basics.rec.html) lub po prostu pozbyć się numpy i używać zwykłych list Pythona. Dlaczego potrzebujesz numpy i jaki jest twój ostateczny cel? – kirelagin
Właściwie postępuję zgodnie z tutorialem na temat projektu uczenie maszynowego, który używa Pythona, a ponieważ jestem nowy dla Pythona napotykam na tę trudność, prosi o numpy array. Byłoby wspaniale, gdybyś mógł mi powiedzieć, jak przekonwertować całą tablicę łańcuchów, aby się uaktywnić, ponieważ jest jasne, że można ją przekształcić na wartość float (traktując jako 1 i fase jako 0). –