Mam dataframe pandy z dwoma indeksamiZmień Pandy indeks typ danych na MultiIndex
Column1
indexA indexB
1001 aaa 1
bbb 1
ccc 1
ddd 1
stworzonych przez
pd.read_sql(sql=sql, index_col=['indexA', 'indexB'])
MySQL czyta w indexB
jako Unicode i chciałbym, aby przekształcić go na sznurku . Moim celem jest przestawienie tabeli i podanie nazw w kolumnach indexB
. Kiedy zrobić to z wartościami unicode uzyskać następujące nazwy kolumn:
� � � � � � � � �
gdy uruchomiony
pd.read_sql(sql=sql, index_col=['indexA', 'indexB']).unstack().fillna(0)
EDIT: Komentarz zaproponował następujący:
df = pd.read_sql(sql)
df['indexB'] = df['indexB'].astype(str)
df = df.set_index(('indexA', 'indexB'), drop=True)
który jest miła praca nad moim problemem (dziękuję). Byłoby miło wiedzieć, czy można to zrobić podczas inicjalizacji.
Czy próbowałeś 'df ['indexB'] = df ['indexB']. –
Nie sądzę, że można uzyskać dostęp do takich indeksów. Powyższe zwraca 'KeyError: 'indexB''' – Sal
Dobrze, przepraszam, potrzebujesz' df = pd.read_sql (sql); df ['indexB'] = df ['indexB']. astype (str); df = df.set_index (('indexA', 'indexB'), drop = True)) ' –