熊猫数据框操作逻辑

时间:2020-02-19 19:47:58

标签: pandas dataframe

可以使用,请帮助解决以下问题:

给定两个数据帧df1和df2,需要获取类似于结果数据帧的内容。


import pandas as pd
import numpy as np
feature_list = [ str(i) for i in range(6)]

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

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

预期的数据框: 需要通过将df1中的值与df2中的列名(功能)进行比较来驱动。如果它们匹配,我们将1放入resultDf

此处的预期输出(或resultsDf):

resultDf

1 个答案:

答案 0 :(得分:0)

我认为您需要:

(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