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

相关推荐
Howard在远程11 分钟前
[编程农场][The Farmer Was Replaced]——Carrot & Pumpkin
python
PieroPc41 分钟前
用python streamlit sqlite3 写一个聊天室
python·streamlit·聊天室
低头不见44 分钟前
策略模式上下文管理
windows·python·策略模式
Xander W1 小时前
基于K8s集群的PyTorch DDP 框架分布式训练测试(开发机版)
人工智能·pytorch·分布式·python·深度学习·kubernetes
文火冰糖的硅基工坊1 小时前
[人工智能-大模型-103]:模型层 - M个神经元组成的单层神经网络的本质
python·算法·机器学习
坚持就完事了1 小时前
XPath语法及Python的lxml包学习
python
孤独的追光者1 小时前
使用Qt Designer开发上位机
开发语言·python·qt
杨超越luckly1 小时前
HTML应用指南:利用POST请求获取全国爱回收门店位置信息
大数据·前端·python·信息可视化·html
TF男孩1 小时前
小技巧:让你写的python代码直接点击运行
python
程序员爱钓鱼1 小时前
Python编程实战 - 面向对象与进阶语法 - 异常类型与捕获
后端·python·ipython