随机分类,保持均衡水平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()

相关推荐
鹏码纵横5 小时前
已解决:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 异常的正确解决方法,亲测有效!!!
java·python·mysql
仙人掌_lz5 小时前
Qwen-3 微调实战:用 Python 和 Unsloth 打造专属 AI 模型
人工智能·python·ai·lora·llm·微调·qwen3
猎人everest5 小时前
快速搭建运行Django第一个应用—投票
后端·python·django
猎人everest5 小时前
Django的HelloWorld程序
开发语言·python·django
chusheng18406 小时前
2025最新版!Windows Python3 超详细安装图文教程(支持 Python3 全版本)
windows·python·python3下载·python 安装教程·python3 安装教程
别勉.6 小时前
Python Day50
开发语言·python
xiaohanbao097 小时前
day54 python对抗生成网络
网络·python·深度学习·学习
爬虫程序猿7 小时前
利用 Python 爬虫按关键字搜索 1688 商品
开发语言·爬虫·python
英杰.王7 小时前
深入 Java 泛型:基础应用与实战技巧
java·windows·python
安替-AnTi7 小时前
基于Django的购物系统
python·sql·django·毕设·购物系统