Как настроить формат отображения DataFrame с комплексными числами?

1

Если у меня есть DataFrame из float, я могу настроить отображение с помощью pd.options.display.float_format, как, например, указано в этом ответе. Например:

import pandas as pd
import numpy as np
pd.options.display.float_format = '{:,.2f}'.format
pd.DataFrame(np.random.randn(2, 2))

Который даст мне ожидаемый результат:

Изображение 174551

С другой стороны, если я пытаюсь сделать то же самое, когда DataFrame содержит сложные поплавки, это не работает:

import pandas as pd
import numpy as np
pd.options.display.float_format = '{:,.2f}'.format
pd.DataFrame(np.random.randn(2, 2) + 1j * np.random.randn(2, 2))

производит:

Изображение 174551

Я не вижу конкретного упоминания комплексных чисел в соответствующих документах и '{:,.2f}'.format(np.complex(1.12345 + 1j *.8746234)) правильно обрезает действительную и мнимую часть комплексного числа, так почему же это не работает?

Теги:
pandas
dataframe
complex-numbers

1 ответ

1

Это один из способов получения желаемого результата с помощью applymap, он будет использовать ячейку.

pd.DataFrame(np.random.randn(2, 2) + 1j * np.random.randn(2, 2)).applymap(lambda x: '{:,.2f}'.format(x))

Выход:

            0            1
0  1.10-1.15j   0.49+0.65j
1  0.51+1.39j  -0.92-0.07j

Ещё вопросы

Сообщество Overcoder
Наверх
Меню