В настоящее время я работаю над pandas.DataFrame
, мне нужно преобразовать некоторые категориальные переменные в манекены.
Однако, поскольку я создаю свой pandas.DataFrame
из части тяжелой базы данных, я почти уверен, что пропущу некоторые модальности, если просто буду использовать pd.get_dummies
.
К счастью, я извлек все модальности из функций, которые мне нужно преобразовать.
Я хотел знать, возможно ли (используя pd.get_dummies
или нет) эффективно преобразовывать мои переменные в зависимости от модальностей, которые я получил?
Я искал решение с get_dummies и без него, но не нашел.
Спасибо :)
IIUC, вы можете использовать Pandas.Categorical
dtype, чтобы справиться с этим.
# Setup
np.random.seed(0)
df = pd.DataFrame(np.random.choice(['A', 'B', 'C'], 6), columns=['cat'])
print(df)
[вне]
cat
0 A
1 B
2 A
3 B
4 B
5 C
И запуск pandas.get_dummies
на этом дает...
pd.get_dummies(df['cat'])
[вне]
A B C
0 1 0 0
1 0 1 0
2 1 0 0
3 0 1 0
4 0 1 0
5 0 0 1
Теперь примените этот Series
к categorical
dtype и передайте список известных категорий...
categories = ['A', 'B', 'C', 'D', 'E']
df['cat'] = pd.Categorical(df['cat'], categories=categories)
pd.get_dummies(df['cat'])
[вне]
A B C D E
0 1 0 0 0 0
1 0 1 0 0 0
2 1 0 0 0 0
3 0 1 0 0 0
4 0 1 0 0 0
5 0 0 1 0 0
Мне просто нужно сделать это в цикле for, но отлично работает, большое спасибо!
Укажите минимальный воспроизводимый пример, чтобы мы точно знали, что вам нужно.