随机分类,保持均衡水平Python

1、目的:
10000个样本有4个指标,按照逾期金额分10类,确保每类别逾期金额均衡。
2、数据:

3、思路:
将10000个样本按照逾期金额排序,
等距分箱为2500个类别
增加一列随机数
根据类别和随机数升序排列
增加一列赋值
按照分类的逾期金额求随机数

以下为10000个样本有4个指标,按照逾期金额分10类的代码逻辑。
4、代码实现
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas import Series,DataFrame as df
import random

#1)获取数据
file_data= pd.read_csv(“D:\data\paixu.csv”)
file_data.shape
file_data.head()

#1)逾期金额升序排序
file_data1=file_data.sort_values(by=[‘yqje’],ascending=[True])

#2)等距分箱形成aa列
file_data1[‘aa’]=pd.cut(file_data1.yqje,2500,labels=range(0,2500))

#3)赋值一列bb为随机数
random_nums=np.random.randint(0,10000,size=10000)
file_data1[‘bb’]=random_nums

#4)根据aa 和bb列排序
file_data1=file_data1.sort_values(by=[‘aa’,‘bb’],ascending=[True,False])

#5)按照排序规则赋值1 2 3 4
values=[1,2,3,4,5,6,7,8,9,10]
new_col = [values[i % len(values)] for i in range(len(file_data1))]
file_data1[‘cc’]=new_col

#6)结论、
group_mean=file_data1.groupby(‘cc’)[‘yqje’].mean()

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值