gpt4 book ai didi

python - 在 Pandas 数据框列中重新编码除一个值外的所有值

转载 作者:太空宇宙 更新时间:2023-11-04 05:19:21 25 4
gpt4 key购买 nike

我正在尝试重新编码有关贷款状态的数据,以便每次观察都是违约或全额支付。具体来说,我想将 anyone != 'Fully Paid' 重新编码为 'Default'。

这是我的值(value)观:

df.loan_status.unique()

array(['Fully Paid', 'Charged Off', 'Default', 'Late (31-120 days)',
'In Grace Period', 'Late (16-30 days)',
'Does not meet the credit policy. Status:Fully Paid',
'Does not meet the credit policy. Status:Charged Off', 'Issued'], dtype=object)

我尝试了以下代码,但所有观察结果都被重新编码为“默认”:

statuses= df['loan_status'].unique()
for status in statuses:
if status!='Fully Paid':
df['loan_status']='Default'

如有任何关于如何执行此操作的建议,我们将不胜感激!

最佳答案

我喜欢这种方法。

Andras Deak/MaxU;选项 1

df.loc[df.loan_status.ne('Fully Paid'), 'loan_status'] = 'Default'

选项 2
pd.Series.where

ls = df.loan_status
df.update(ls.where(ls.eq('Fully Paid'), 'Default'))

选项 3
pd.Series.mask

ls = df.loan_status
df.update(ls.mask(ls.ne('Fully Paid')).fillna('Default'))

选项 4
numpy.where

ls = df.loan_status.values
paid, dflt = 'Fully Paid', 'Default'
df.loc[:, 'loan_status'] = np.where(ls == paid, paid, dflt)

关于python - 在 Pandas 数据框列中重新编码除一个值外的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40834627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com