Get_dummies产生的列比其预期的要多

时间:2019-07-31 20:32:05

标签: pandas

我正在对具有零或“ D”或“ E”的数据列使用get_dummies。与其生成2列,不如生成5列-C,D,E,N,O。我不确定它们是什么以及如何使其仅按预期的那样做2个。

当我只拉该列时显示0以及D和E,但是当我将其放入get_dummies时会添加额外的列

data[[2]]
0
0
D
0
0
0
0
D
0
0

当我这样做时:

dummy = pd.get_dummies(data[2], dummy_na = False)
dummy.head()

我明白了

0 C D E N O PreferredContactTime
0 0 0 0 0 0 1
1 0 0 0 0 0 0
1 0 0 0 0 0 0 
0 0 1 0 0 0 0
1 0 0 0 0 0 0

C,N和O是什么?我根本不明白它显示的是什么。

1 个答案:

答案 0 :(得分:2)

设置

var isValid: Observable<Bool> {
    return credentials
        .asObservable()
        .map({ (credentials) -> Bool in
            guard let credentials = credentials else {
                return false
            }
            return credentials.0.count > 0 && credentials.1.count > 0
        })
        .distinctUntilChanged()
}

didTapLoginSubject
    .withLatestFrom(credentials)
    .filterNil()
    .subscribe(
        onNext: login,
        onError: onError
    ).disposed(by: disposeBag)

您的结果

dtype = pd.CategoricalDtype([0, 'C', 'D', 'E', 'N', 'O', 'PreferredContactTime'])

data = pd.DataFrame({2: [
    'PreferredContactTime', 0, 0, 'D', 0, 0, 0, 0, 'D', 0, 0
]}).astype(dtype)