#python #pandas #dataframe
#python #pandas #dataframe
Вопрос:
Я пытаюсь отобразить результаты из фрейма данных pandas, который содержит небольшие числа.
dict1 = {
'Name':['one', 'two', 'three', 'four'],
'R1 (V)':[1.1,2.2,3.3,4.4],
'R2 (mV)':[1.1e-3,2.2e-3,3.3e-3,4.4e-3],
'R3 (uV)':[1.1e-6,2.2e-6,3.3e-6,4.4e-6],
'R4 (nV)':[1.1e-9,2.2e-9,3.3e-3,4.4e-9],
'R5 (pV)':[1.1e-12,2.2e-12,3.3e-12,4.4e-12]
}
df = pd.DataFrame.from_dict(dict1)
В моем примере здесь я хочу изменить R3 на научную нотацию (1.1e-6, 2.2e-6, …) без изменения способа отображения других столбцов
Ответ №1:
попробуйте отредактировать формат вашего фрейма данных следующим образом:
df.style.format({'R3 (uV)': "{:.2E}"})
это выведет фрейм данных с R3 в научной нотации, но если вы попытаетесь снова отобразить фрейм данных, вам придется повторить эту процедуру, потому что формат не является постоянным
Комментарии:
1. Это изменяет столбец ‘R3 (uV)’, но также изменяет формат других столбцов
2. вы можете использовать это для определения формата каждого столбца
Ответ №2:
Вы можете преобразовать значения в строки и применить нужные обозначения.
df['R3 (uV)'] = df['R3 (uV)'].apply(lambda val: '%.2E' % val)
Комментарии:
1. делая это, вы потеряете свои данные, преобразовав их в str. Используйте
pandas.io.formats.style.Styler
вместо