|
|
import pandas as pd
import numpy as np
df = pd.read_excel('最大值.xlsx', sheet_name=1).reset_index()
df = df.melt(id_vars='index', var_name='序号', value_name='A')
print(df)
lst = []
g = df.groupby('序号')
for t, d in g:
d = d.reset_index()
d['排名'] = d['A'].rank(ascending=False, method='min')
d1 = d[(d['排名'] == 1) | (d['排名'] == 2)]
s = d1.index.tolist()
s1 = np.select([s[0] < s[1], True], [s[0], s[1]])
s2 = np.select([s[0] > s[1], True], [s[0], s[1]])
d = d[(d['index'] > s1) & (d['index'] < s2)]
d = d[d['A'] == d['A'].max()][['序号', 'A']]
lst.append(d)
print(d)
df1 = pd.concat(lst)
df1 = df1.pivot(columns='序号', values='A').reset_index()
print(df1)
df1.to_excel('最大值A.xlsx') |
|