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)