Python将dataframe转换成numpy矩阵

现有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())