У меня есть матрица данных с 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])
проблема в том, когда мне нужно написать соответствующую строку, которая будет выглядеть примерно так:
xmax, y, z, x2, ymax, z2, x3, y3, zmax, xmin, 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