我有这个数据
我正在尝试应用这个:
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)
国际海事组织文档 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html应该更新,因为它说pd.get_dummies
接受类似数组的数据和二维numpy
array is类似数组(尽管事实上类似数组没有正式的定义 https://stackoverflow.com/a/40380014/6671176)。不过,它似乎不喜欢多维数组。
举这个小例子:
>>> df
a b c
0 a 1 d
1 b 2 e
2 c 3 f
你无法在底层 2D 上获得虚拟对象numpy
array:
>>> 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
或者在单个列下面的一维数组上:
>>> pd.get_dummies(df['a'].values)
a b c
0 1 0 0
1 0 1 0
2 0 0 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)