Dane to dane i kiedy przetwarzasz je w data frame, to generalnie nie należy się przejmować wyglądem tych danych. Jednak od czasu do czasu chcesz zadbać również o to jak te dane mają wyglądać.
Oto dataframe:
1 2 3 4 5 |
import pandas d = {'col1': [1, 22, 333, 4444], 'col2': [4, 55, 666, 7777]} df = pd.DataFrame(d) df |
Data Frame ma metodę to_string, a metoda to_string przyjmuje parametr formatter, który wpływa na sposób wyświetlania danych:
1 2 3 |
formatters={"col1": "{:,.2f}".format, "col2": "{:,.2f}".format} print(df.to_string(formatters = formatters)) |
A co jeśli data frame zawiera dane napisowe – string? Te polecenia skonwertują nasz data frame do tekstu:
1 2 3 |
df = df.applymap(str) df df.dtypes |
Tu przy pomocy parametru formatters określasz, że kolumna col1 ma być wyrównana do lewej strony i napis ma być umieszczony na 10 znakach, a col2 ma być wyrównany do prawej i też na 10 znakach:
1 2 |
formatters={"col1": "{:<10}".format, "col2": "{:>10}".format} print(df.to_string(formatters = formatters)) |