Pandas логика манипулирования данными - PullRequest
1 голос
/ 19 февраля 2020

Можно использовать, пожалуйста, помогите с проблемой ниже:

Учитывая два кадра данных df1 и df2, необходимо получить что-то вроде результата dataframe.

<code>
import pandas as pd
import numpy as np
feature_list = [ str(i) for i in range(6)]</p>

<p>df1 = pd.DataFrame( {'value' :  [0,3,0,4,2,5]})</p>

<p>df2 = pd.DataFrame(0, index=np.arange(6), columns=feature_list)

Ожидаемый кадр данных: необходимо руководствоваться сравнением значений из df1 с именами столбцов (функциями) в df2. если они совпадают, мы помещаем 1 в resultDf

Вот ожидаемый результат (или resultsDf):

resultDf

1 Ответ

0 голосов
/ 19 февраля 2020

Я думаю, вам нужно:

(pd.get_dummies(df1['value'])
   .rename(columns = str)
   .reindex(columns = df2.columns,
            index = df2.index,
            fill_value = 0))

   0  1  2  3  4  5
0  1  0  0  0  0  0
1  0  0  0  1  0  0
2  1  0  0  0  0  0
3  0  0  0  0  1  0
4  0  0  1  0  0  0
5  0  0  0  0  0  1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...