现有csv文件'WEAK.csv',文件三列数据(x,y,traffic),(traffic为业务量的意思),现需要将读取到的x和y数据作为矩阵坐标(x列和y列数据是乱序的,且排序后的数据也并不是+1递增),有业务量的坐标,值为业务量。其余为-1。如何将此转换成numpy矩阵
import numpy as np
import pandas as pd
data = pd.read_csv('WEAK.csv,index_col=0)
datalist = []
for i in range(len(data)):
datalist.append(list(data.iloc[i,:]))
npdata = np.array(datalist)
如有用请采纳
现有csv文件'WEAK.csv',文件三列数据(x,y,traffic),(traffic为业务量的意思)。
现需要将读取到的x和y数据作为矩阵坐标(x列和y列数据是乱序的,且排序后的数据也并不是+1递增),有业务量的坐标,值为业务量。其余为-1。如何将此转换成numpy矩阵。
(信息:
给定区域的大小是 2500×2500 个栅格即 2500×2500 个点,
其中横坐标范围是 0 到 2499,纵坐标范围是 0 到 2499。WEAK.csv附件里是筛选出
该区域中的弱覆盖点的信息,包括每个点的坐标和业务量)
望采纳
import csv
import numpy as np
pos = []
with open('WEAK.csv')as f:
f_csv = csv.reader(f)
for row in f_csv:
pos.append([float(row[0]), float(row[1])])
pos = np.array(pos)
df=pd.DataFrame({'x':[1,2,4,5,7,8],'y':[4,6,7,8,9,1],'f':[100,200,1,-1,-1,3]})
df=df.pivot('x','y','f')
print(df.to_numpy())