Я хочу поменять местами все значения моего фрейма данных. Самое большое значение должно быть заменено наименьшим значением (т.е. 7 с 1, 6 с 2, 5 с 3, 4 с 4, 3 с 5 и т. Д.).
import numpy as np
import pandas as pd
import io
data = '''
Values
6
1
3
7
5
2
4
1
4
7
2
5
'''
df = pd.read_csv(io.StringIO(data))
Trial
Сначала я хочу получить все уникальные значения из моих данных.
df1=df.Values.unique()
print(df1)
[6 1 3 7 5 2 4]
Я отсортировал их по возрастанию порядок:
sorted1 = list(np.sort(df1))
print(sorted1)
[1, 2, 3, 4, 5, 6, 7]
Чем я отсортировал список в обратном порядке:
rev_sorted = list(reversed(sorted1))
print(rev_sorted)
[7, 6, 5, 4, 3, 2, 1]
Теперь мне нужно заменить максимальное значение на минимальное и т. д. в моем основном наборе данных ( df). Старые значения можно заменить или добавить новый столбец.
Ожидаемый результат :
Values,New_Values
6,2
1,7
3,5
7,1
5,3
2,6
4,4
1,7
4,4
7,1
2,6
5,3