[英]pandas dataframe to numpy array without loop
我有一个数据框和一个二维矩阵。
数据框有 3 列:
我需要根据行和列索引将这些值放入矩阵中。 目前,我通过遍历整个数据框来做到这一点:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
h,w=25,30 # dimensions of the matrix
df=pd.DataFrame(
{
'row':[1,5,2,4,6,7,15,20],
'col':[3,15,22,29,16,12,25,1],
'val':[444,2313,100,21,159,4102,225,2221]
}
)
# now I'm filling the matrix with values with for loop...
mat=np.zeros((h,w))
for i in range(df.shape[0]):
row,col,val=df.loc[i,['row','col','val']]
mat[row,col]=val
plt.imshow(mat)
有没有办法在没有循环的情况下做到这一点?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.