我有這個包含許多分類列的資料集,我必須對資料進行離散化。
首先我使用 Pandas 上傳資料,它給了我這個:
X = pd.read_excel("/content/drive/MyDrive/APR NA?O SUP_Tarefa_Trilha 4 (2) (1).ods")
X.head()

之后,我嘗試使用以下代碼塊對資料進行去離散化:
coluna = ["LEG","GRANGE_REG", "SIGLA_UF", "NOME", "TIPO", "CAT_ASSOC", "NOME_MUN", "LEG"]
for col in coluna:
classes = np.unique(X[col])
number = 0 # valor que será usado para representar a clases
for i in classes:
X = X.replace(i, number)
number = number 1
print('Novos dados:')
print(X[col])
這段代碼給出了這個錯誤:
<ipython-input-72-c6cc213e95a5> in <module>()
3 for col in coluna:
4 print(col)
----> 5 classes = np.unique(X[col])
6 number = 0 # valor que será usado para representar a clases
7 for i in classes:
/usr/local/lib/python3.7/dist-packages/pandas/core/frame.py in __getitem__(self, key)
2904 if self.columns.nlevels > 1:
2905 return self._getitem_multilevel(key)
-> 2906 indexer = self.columns.get_loc(key)
2907 if is_integer(indexer):
2908 indexer = [indexer]
/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
2898 return self._engine.get_loc(casted_key)
2899 except KeyError as err:
-> 2900 raise KeyError(key) from err
2901
2902 if tolerance is not None:
KeyError: 'GRANGE_REG'
PS:col“LEG”作業沒有問題,只有當變數col更改為“CHANGE_REG”時才會彈出錯誤
PPS:抱歉英語不好
uj5u.com熱心網友回復:
這只是一個錯字。你寫的是“ GRAN G E_REG ”而不是“ GRAN D E_REG ”。
uj5u.com熱心網友回復:
您認為的列名稱與 .ods 檔案中的名稱似乎有所不同(我不熟悉 .ods 檔案)。可能是缺少空格什么的。你能試一下嗎:
print(X.columns)
這應該會告訴您 X 資料框中的列名字串是什么。
編輯:仔細觀察影像,我看到它在資料框中是“GRANDE_REG”,但您正在尋找“GRANGE_REG”(即“D”換成“G”)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/361987.html
