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

相关推荐
The Future is mine28 分钟前
Python计算经纬度两点之间距离
开发语言·python
九月镇灵将31 分钟前
GitPython库快速应用入门
git·python·gitpython
兔子的洋葱圈1 小时前
【django】1-2 django项目的请求处理流程(详细)
后端·python·django
独好紫罗兰1 小时前
洛谷题单3-P5719 【深基4.例3】分类平均-python-流程图重构
开发语言·python·算法
27669582921 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿
橘子在努力1 小时前
【橘子大模型】关于PromptTemplate
python·ai·llama
SheepMeMe2 小时前
蓝桥杯2024省赛PythonB组——日期问题
python·算法·蓝桥杯
莓事哒2 小时前
selenium和pytessarct提取古诗文网的验证码(python爬虫)
爬虫·python·selenium·测试工具·pycharm
q567315232 小时前
使用puppeteer库编写的爬虫程序
爬虫·python·网络协议·http
mosquito_lover13 小时前
Python数据分析与可视化实战
python·数据挖掘·数据分析