等频装箱

这段代码展示了如何使用numpy和pandas对CSV文件中的数值数据进行排序,并根据设定的边界值进行分箱操作,将数据分配到不同的类别中。分别处理了两个不同的数据集,CCPP和california,最后将处理后的数据保存为新的CSV文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import pandas as pd
path = r"C:\Users\pc\Desktop\PPT素材\CCPP\ccpp.csv"
data = np.array( pd.read_csv(path,header=None))
print(data.shape)
y = data[:,-1]
ord_idx = np.argsort(y)
Bins = [1913, 1913, 1914, 1914, 1914]

Binss = [1913,3826,5740,7654,9568]

for i, idx in enumerate(ord_idx):
    if i <= 1912:
        data[idx,-1] = 0
    elif 1912 < i <=3825:
        data[idx,-1] = 1
    elif 3825 < i <= 5739:
        data[idx, -1] =2
    elif 5739 < i <= 7653:
        data[idx, -1] = 3
    elif 7653 < i <= 9567:
        data[idx, -1] = 4



path_save = r"C:\Users\pc\Desktop\PPT素材\CCPP\power.csv"
data = pd.DataFrame(data=data)
data.to_csv(path_save,header=None,index=None)

笨方法不会出错! 大繁入简

import numpy as np
import pandas as pd

path = r"D:\OCdata\california\california.csv"
data = np.array(pd.read_csv(path, header=None))
print(data.shape)
y = data[:, -1]
ord_idx = np.argsort(y)
Bin_size = 20


Bins = [i*1032-1 for i in np.arange(1,Bin_size+1,1)]
print("Bins:",Bins)

for i, idx in enumerate(ord_idx):

    if i <= Bins[0]:
        data[idx, -1] = 0
    elif Bins[0] < i <= Bins[1]:
        data[idx, -1] = 1
    elif Bins[1] < i <= Bins[2]:
        data[idx, -1] = 2
    elif Bins[2] < i <= Bins[3]:
        data[idx, -1] = 3
    elif Bins[3] < i <= Bins[4]:
        data[idx, -1] = 4
    elif Bins[4] < i <= Bins[5]:
        data[idx, -1] = 5
    elif Bins[5] < i <= Bins[6]:
        data[idx, -1] = 6
    elif Bins[6] < i <= Bins[7]:
        data[idx, -1] = 7
    elif Bins[7] < i <= Bins[8]:
        data[idx, -1] = 8
    elif Bins[8] < i <= Bins[9]:
        data[idx, -1] = 9
    elif Bins[9] < i <= Bins[10]:
        data[idx, -1] = 10
    elif Bins[10] < i <= Bins[11]:
        data[idx, -1] = 11
    elif Bins[11] < i <= Bins[12]:
        data[idx, -1] = 12
    elif Bins[12] < i <= Bins[13]:
        data[idx, -1] = 13
    elif Bins[13] < i <= Bins[14]:
        data[idx, -1] = 14
    elif Bins[14] < i <= Bins[15]:
        data[idx, -1] = 15
    elif Bins[15] < i <= Bins[16]:
        data[idx, -1] = 16
    elif Bins[16] < i <= Bins[17]:
        data[idx, -1] = 17
    elif Bins[17] < i <= Bins[18]:
        data[idx, -1] = 18
    elif Bins[18] < i <= Bins[19]:
        data[idx, -1] = 19

path_save = r"D:\OCdata\california\California-20bin.csv"
data = pd.DataFrame(data=data)
data.to_csv(path_save, header=None, index=None)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeniuHe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值