#python #python-3.x #pandas #dataframe
#python #python-3.x #pandas #фрейм данных
Вопрос:
df = pd.DataFrame({('Quarter', 'Range'): {0: 'A', 1: 'B'}, ('Q1(0.25)', 'Low'): {0: 0, 1: 0}, ('Q1(0.25)', 'High'): {0: 10, 1: 630}, ('Q2(0.5)', 'Low'): {0: 10, 1: 630}, ('Q2(0.5)', 'High'): {0: 50, 1: 3000}, ('Q3(0.75)', 'Low'): {0: 50, 1: 3000}, ('Q3(0.75)', 'High'): {0: 100, 1: 8500}, ('Q4(1.0)', 'Low'): {0: 100, 1: 8500}, ('Q4(1.0)', 'High'): {0: 'np.inf', 1: 'np.inf'}})
Как и в приведенном выше фрейме данных, если значение столбца A находится в диапазоне 0-10, замените значение на 0,25, если значение находится в диапазоне 10-50, замените значение на 0,5. Аналогично, мы должны повторить для всех значений и столбцов.
Ожидаемый результат:
Если значение равно 12 для A и 3210 для столбца B.
df2 = pd.DataFrame({'Column': {0: 'A', 1: 'B'}, 'Prob': {0: 0.5, 1: 0.75}})
Как это сделать?
Комментарии:
1. Что
print (df1.to_dict())
для первого фрейма данных?2. Можете ли вы использовать копируемый обычный текст вместо изображений? Это значительно упростило бы работу над вашей проблемой.
3. df.to_dict() равен {‘Quarter’: {0: ‘Range’, 1: ‘A’, 2: ‘B’}, ‘Q1(0.25)’: {0: ‘Low’, 1: 0, 2: 0}, ‘ Неназванный: 2’:{0: ‘Высокий’, 1: 10, 2: 630}, ‘ Q2(0.5)’: {0: ‘Низкий’, 1: 10, 2: 630}, ‘ Неназванный: 4’: {0: ‘Высокий’, 1: 50, 2: 3000}, ‘Q3 (0.75)’: {0: ‘Низкий’, 1: 50, 2: 3000}, ‘ Неназванный: 6’: {0: ‘Высокий’, 1: 100, 2: 8500}, ‘ Q4(1.0)’: {0: ‘Низкий’,1: 100, 2: 8500}, ‘ Неназванный: 8’: {0: ‘Высокий’, 1: ‘np.inf’, 2: ‘np.inf’}}
4. это многоуровневый столбец, если я использую to_dict, он отображается безымянным, поэтому я вставил картинку, попытаюсь изменить
5. Как создается в первую
df
очередь? Из файла? Поdf = pd.read_csv(file, header=[0,1])
для чтения мультииндекса?