Сущность! 12 советов по настройке Pandas

анализ данных pandas
Сущность! 12 советов по настройке Pandas

Общественный номер: You Er Hut
Автор: Питер
Редактор: Питер

Всем привет, меня зовут Питер~

При использовании Pandas помимо данных мы больше имеем дело с таблицами. Чтобы лучше отображать таблицу данных, на ранней стадии должны быть хорошие настройки.

В этой статье представлены общие навыки настройки Pandas, в основном основанные на параметрах и настройках. Сильно нажимайте на официальный сайт, чтобы узнать адрес:pandas.друзья попали на него.org/pandas-docs…

Импортировать

Это метод импорта международной конвенции!

import pandas as pd

игнорировать предупреждение

В связи с обновлением версии в ближайшем будущем некоторые использования Pandas могут быть удалены, а также часто будут появляться некоторые предупреждения (не ошибки), соответствующие предупреждения можно игнорировать с помощью следующего кода:

# 忽略警告
import warnings
warnings.filterwarnings('ignore')

точность данных с плавающей запятой

Посмотреть точность по умолчанию

По умолчанию сохраняется 6 знаков после запятой. Распечатайте текущую точность:

pd.get_option( 'display.precision')
6

Изменить точность

Установите точность на 2 цифры

pd.set_option( 'display.precision',2)
# 写法2:pd.options.display.precision = 2

Затем мы снова печатаем текущую точность, и она становится 2-значной:

pd.get_option( 'display.precision')
2

линия отображения

Просмотр количества отображаемых строк

Количество отображаемых строк по умолчанию равно 60.

pd.get_option("display.max_rows")  # 默认是60
60

Минимальное количество строк по умолчанию — 10 цифр:

pd.get_option("display.min_rows")  # 最少显示行
10

Изменить количество отображаемых строк

Измените максимальное количество отображаемых строк на 999, а затем просмотрите его снова:

pd.set_option("display.max_rows",999)  # 最多显示行数
pd.get_option("display.max_rows")
999

Измените минимальное количество отображаемых строк:

pd.set_option("display.min_rows",20)  
pd.get_option("display.min_rows")
20

функция сброса

После использования метода сброса reset_option параметр принимает форму по умолчанию (числовое значение):

pd.reset_option("display.max_rows")
pd.get_option("display.max_rows")  # 又恢复到60
60
pd.reset_option("display.min_rows")
pd.get_option("display.min_rows")  # 又恢复到10
10

Обычная функция

Если мы изменили настройки для нескольких параметров и хотим восстановить их одновременно, мы можем использовать регулярные выражения для сброса нескольких параметров.

Это означает, что все настройки, начинающиеся со смещения, сбрасываются:

# ^表示以某个字符开始,在这里表示以display开始全部重置
pd.reset_option("^display")

сбросить все

Если использовать all, значит сбросить все настройки:

pd.reset_option('all')

Показать столбцы

Поскольку вы можете контролировать количество отображаемых строк, конечно, вы также можете контролировать количество отображаемых столбцов.

Просмотр количества отображаемых столбцов

Обратите внимание, что количество столбцов, отображаемых по умолчанию, равно 20:

pd.get_option('display.max_columns')

# 另一种写法:通过属性的方式
pd.options.display.max_columns  
20

изменить количество столбцов

Измените количество отображаемых столбцов на 100:

# 修改成100
pd.set_option('display.max_columns',100)

Просмотр количества измененных столбцов:

# 查看修改后的值
pd.get_option('display.max_columns')
100

показать все столбцы

Если установлено None, это означает отображение всех столбцов:

pd.set_option('display.max_columns',None)

перезагрузить

pd.reset_option('display.max_columns')

Изменить ширину столбца

Верхний предназначен для просмотра количества столбцов, а нижний — для установки ширины каждого столбца. Ширина данных в одном столбце, рассчитанная по количеству символов, представлена ​​многоточием, если она превышает.

Ширина столбца по умолчанию

Ширина столбца по умолчанию составляет 50 символов:

pd.get_option ('display.max_colwidth')
50

Изменить ширину столбца

Измените отображаемую ширину столбца на 100:

# 修改成100
pd.set_option ('display.max_colwidth', 100)

Просмотрите отображаемую ширину и длину столбца:

pd.get_option ('display.max_colwidth')
100

показать все столбцы

Показать все столбцы:

pd.set_option ('display.max_colwidth', None)

Функция складывания

Сворачиваться ли, когда мы выводим ширину данных и превышаем установленную ширину. Обычно используйте False, чтобы не фолдить, а True, чтобы фолдить.

pd.set_option("expand_frame_repr", True)  # 折叠
pd.set_option("expand_frame_repr", False)  # 不折叠

Настройки модификации фрагмента кода

Различные настройки, описанные выше, если они изменены, относятся ко всей среде; мы также можем сделать временные настройки только для определенного блока кода.

Исчерпание текущего блока кода приведет к аннулированию и восстановлению исходных настроек.

Предположим, вот первый блок кода:

print(pd.get_option("display.max_rows"))
print(pd.get_option("display.max_columns"))
60
20

Вот второй блок кода:

# 当前代码块进行设置

with pd.option_context("display.max_rows", 20, "display.max_columns", 10):
    print(pd.get_option("display.max_rows"))
    print(pd.get_option("display.max_columns"))
20
10

Вот третий блок кода:

print(pd.get_option("display.max_rows"))
print(pd.get_option("display.max_columns"))
60
20

В приведенном выше примере мы можем найти:Недопустимая настройка за пределами указанного блока кода

форматирование чисел

В Pandas есть метод display.float_format, который может форматировать и выводить числа с плавающей запятой, такие как тысячные, проценты, фиксированные десятичные разряды и т. д.

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

The callable should accept a floating point number and return a string with the desired format of the number

тысячные

Когда данных относительно много, есть надежда, чтотысячныеЧтобы представить данные в виде , с первого взгляда ясно:

df = pd.DataFrame({
    "percent":[12.98, 6.13, 7.4],
    "number":[1000000.3183,2000000.4578,3000000.2991]})
df

процент

специальные символы

В дополнение к знаку % мы также можем использовать другие специальные символы для представления:

Преобразование с нулевым порогом

Что означает пороговая конверсия? Первая реализация этой функции использует метод display.chop_threshold.

Представляет порог для отображения данных в ряду или DF в виде определенного числа. Если оно больше этого числа, оно будет отображаться напрямую, если оно меньше этого числа, оно будет отображаться с 0.

Изменить метод рисования

по умолчанию,pandas использует matplotlib в качестве бэкэнда для построения графиков, мы можем изменить настройки:

import matplotlib.pyplot as plt
%matplotlib inline

# 默认情况
df1 = pd.DataFrame(dict(a=[5,3,2], b=[3,4,1]))
df1.plot(kind="bar")
plt.show()

Измените бэкенд построения графика, чтобы он стал мощным сюжетом:

# 写法1
pd.options.plotting.backend = "plotly"

df = pd.DataFrame(dict(a=[5,3,2], b=[3,4,1]))
fig = df.plot()
fig.show()

# 写法2
df = pd.DataFrame(dict(a=[5,3,2], b=[3,4,1]))
fig = df.plot(backend='plotly') # 在这里指定
fig.show()

Изменить выравнивание заголовков столбцов

По умолчанию поля атрибутов (заголовки столбцов) выровнены по правому краю, и мы можем установить это. Вот пример с официального сайта:

Распечатать текущие настройки и сбросить все параметры

pd.describe_option()Это распечатать все текущие настройки и перезарядить все опции. Вот некоторые из параметров настройки:

Советы по настройке

Ниже приводится сводка часто используемых конфигураций, которые можно использовать при копировании:

import pandas as pd  # 国际惯例

import warnings
warnings.filterwarnings('ignore')  # 忽略文中的警告

pd.set_option( 'display.precision',2)
pd.set_option("display.max_rows",999)  # 最多显示行数
pd.set_option("display.min_rows",20)   # 最少显示行数
pd.set_option('display.max_columns',None)  # 全部列
pd.set_option ('display.max_colwidth', 100)   # 修改列宽
pd.set_option("expand_frame_repr", True)  # 折叠
pd.set_option('display.float_format',  '{:,.2f}'.format)  # 千分位
pd.set_option('display.float_format', '{:.2f}%'.format)  # 百分比形式
pd.set_option('display.float_format', '{:.2f}¥'.format)  # 特殊符号
pd.options.plotting.backend = "plotly"  # 修改绘图
pd.set_option("colheader_justify","left")  # 列字段对齐方式
pd.reset_option('all')  # 重置