1 回答
TA貢獻(xiàn)1784條經(jīng)驗 獲得超9個贊
它對我有用, Datanovice在上一個問題中給出的答案對索引進(jìn)行了一些更改。
正如問題所述,問題在于'ID_Code'成為索引而不是列。所以我的解決方案涉及添加一個具有唯一 ID_Code 的列。為此,我找到了兩種可能的方法。
解決方案 1
.unique()與 as .unique() 結(jié)合使用會pd.Dataframe()返回一個 numpy.ndarray,它必須再次轉(zhuǎn)換為 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()
添加回答
舉報
