1 回答
TA贡献1784条经验 获得超9个赞
它对我有用, Datanovice在上一个问题中给出的答案对索引进行了一些更改。
正如问题所述,问题在于'ID_Code'成为索引而不是列。所以我的解决方案涉及添加一个具有唯一 ID_Code 的列。为此,我找到了两种可能的方法。
解决方案 1
.unique()与 as .unique() 结合使用会pd.Dataframe()返回一个 numpy.ndarray,它必须再次转换为 Dataframe。
df4 = pd.DataFrame(df['ID_Code'].unique(),columns=['ID_Code'],index=df['ID_Code'].unique())
df5 = pd.concat([df4,df3],axis=1)
col = 'ID_Code'
cond = [df5[col].eq(1),
df5[col].isin([5,7])]
outputs = [3,2]
df5[col] = np.select(cond,outputs,default=df5[col])
df6 = df5.groupby(col).sum()
方案二
用于将.reset_index()ID_Code 从索引中移出到单独的列中。
df3 = df3.reset_index()
col = 'ID_Code'
cond = [df3[col].eq(1),
df3[col].isin([5,7])]
outputs = [3,2]
df3[col] = np.select(cond,outputs,default=df3[col])
df4 = df3.groupby(col).sum()
添加回答
举报