Python get_dummies(),异常:数据必须是一维的

Python get_dummies(),异常:数据必须是一维的,python,pandas,numpy,machine-learning,Python,Pandas,Numpy,Machine Learning,我有这些数据 我正在尝试应用这一点: one_hot = pd.get_dummies(df) 但我得到了这个错误: 以下是我在此之前的代码: # Import modules import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn import tree df = pd.read_csv('AllMSAData.csv') df.head() corr_matrix = df.

我有这些数据

我正在尝试应用这一点:

one_hot = pd.get_dummies(df)
但我得到了这个错误:

以下是我在此之前的代码:

# Import modules
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import tree
df = pd.read_csv('AllMSAData.csv')
df.head()
corr_matrix = df.corr()
corr_matrix
df.describe()
# Get featurs and targets
labels = np.array(df['CurAV'])
# Remove the labels from the features
# axis 1 refers to the columns
df = df.drop('CurAV', axis = 1)
# Saving feature names for later use
feature_list = list(df.columns)
# Convert to numpy array
df = np.array(df)
在IMO中,应该更新,因为它说
pd.get\u dummies
接受类似数组的数据,而二维
numpy
数组则类似数组(尽管事实如此)。然而,它似乎不喜欢多维数组

举个小小的例子:

>>> df
   a  b  c
0  a  1  d
1  b  2  e
2  c  3  f
无法在基础2D
numpy
数组上获取假人:

>>> pd.get_dummies(df.values)
例外:数据必须是一维的

但您可以在数据帧本身上获得假人:

>>> pd.get_dummies(df)
   b  a_a  a_b  a_c  c_d  c_e  c_f
0  1    1    0    0    1    0    0
1  2    0    1    0    0    1    0
2  3    0    0    1    0    0    1
或在单个列下面的1D数组上:

>>> pd.get_dummies(df['a'].values)
   a  b  c
0  1  0  0
1  0  1  0
2  0  0  1

你要买假人干什么?例如,您需要将其传递一个系列。我需要将分类数据更改为数字以执行随机预测,那么您对我的案例有何建议?我注意到,当我在特性和目标部分之前调用pd.get_dummies(df)时,我没有得到错误,但它对数据没有任何影响使用
pd.get_dummies(df[['columns'、'to'、'dummify']]
KeyError:“['columns''to'dummify']不在作为占位符的索引中,用所需的列替换dummify的列。例如,如果要获取
State
Prev\u CS\u Tier
的假人,请使用
pd.get\u dummies(df[['State'、'Prev\u CS\u Tier'])