我有一个包含3列的数据矩阵:x,y,z:每列都有很多行。你知道吗
我需要找到每列每次包含最大值的行和最小值的行,然后将所有这些行写入一个数据帧。你知道吗
假设我有:
x= [1,2,4,3] , y= [7,8,6,5] , z= [12,10,11,9]
为了找到相应的行,我做了:
alldata=[];
alldata.append([x]);
alldata.append([y]);
alldata.append([z]);
for elem in alldata:
xarr=np.array(elem)
rowmax=xarr.argmax()
ind= alldata.index(elem)
maxcorr.append(alldata[ind][0][rowmax])
for elem in alldata:
xarr=np.array(elem)
rowmin=xarr.argmin()
ind= alldata.index(elem)
maxcorr.append(alldata[ind][0][rowmin])
问题是当我需要写相应的行时,它会是这样的:
X最大,y,z,x2,y最大,z2,x3,y3,z最大,X最小,y4,z4,。。。。。你知道吗
为了写对应的行,我尝试了:
x=np.transpose(x);
y=np.transpose(y);
z=np.transpose(z);
mydata=[]
mydata.append(x)
mydata.append(y)
mydata.append(z)
mydata=np.array(mydata)
要在数据帧上写入,我有:
casename=['Xmax', 'Y', 'Z', ,'Xmin', 'Y', 'Z', 'X', 'Ymax', 'Z', 'X', 'Ymin', 'Z', 'X', 'Y', 'Zmax','X', 'Y', 'Zmin']
mydata=np.array(mydata).reshape(-1, len(casename))
df = pd.DataFrame(mydata, index=Filenames, columns=casename)
显然,mydata是我正在搜索的表单,它没有在代码中表达出来,这是我的问题。从mydata中取出相应的行是不可能的
例如,根据示例,我想要的输出是:
[4,5,11,1,7,12,2,8,10,3,5,9,1,7,12,3,5,9]
还有一件事:文件名不应该改变,因为我有几个文件包含这些X,Y,Z数据
我是用
pandas
来解决这个问题的,因为你用同样的方法标记了这个问题。而且,我无法匹配您给出的输出。我希望是打字错误。但是我已经按照你的描述走了相关问题 更多 >
编程相关推荐