F d колонки: 🎶 F&D [Fenda Audio] — Официальный сайт дистрибьютора качественной акустики

8. Управление басом в АВ ресиверах / Аудиофактор

Bass Management или система управления басом.

Терминология:
Фильтр НЧ – фильтр, пропускающие низкие частоты – LPF – Low Pass Filter (или LF).
Фильтр ВЧ – фильтр, пропускающий высокие частоты –
HPF – High Pass Filter (или HF).
Кроссовер — комбинация НЧ и ВЧ фильтров с общей частотой среза.

Современные многоканальные звуковые форматы включают минимум 5 основных звуковых каналов, работающих с полным диапазоном частот (20Гц – 20кГц), а также один низкочастотный канал эффектов LFE (Low Frequency Effects), работающий исключительно в диапазоне низких частот 20Гц – 120Гц. Так как LFE канал работает в ограниченном частотном диапазоне, он обозначается как «*.1», и сигнал с этого канала воспроизводится специальной низкочастотной системой — активным сабвуфером.   Большинство существующих конфигураций многоканального звука вы можете посмотреть в нашем модуле «Подбор системы – Конструктор домашних кинотеатров». Выбирая формат, вы увидите визуальное отображение расположения акустических систем в комнате.

Самый простой многоканальный формат, соответствующий базовому формату Dolby Digital  – 5.1, а наиболее продвинутый, соответствующий одному из форматов Dolby Atmos —  7.1.4 (где первая цифра – основные каналы нижнего яруса размещения, вторая цифра – активный сабвуфер, третья цифра — количество каналов верхнего яруса, как правило потолочные или навесные системы).  В системе может применятся 2 сабвуфера. В этом случае указанные выше форматы будут обозначаться 5.2 и 7.2.4 соответственно.
Логично предположить, что активный сабвуфер предназначен для воспроизведения звуковой дорожки LFE канала. Однако это не совсем так. Первая очевидная сложность при построении многоканальных систем домашнего кинотеатра – невозможность использовать все основные акустические системы, способные воспроизводить полный частотный диапазон (20Гц-20кГц).
Если большие фронтальные колонки таким требованиям так или иначе  удовлетворяют, то все другие системы имеют довольно компактные размеры, и их рабочий диапазон частот начинается снизу с частот 50Гц — 80Гц (а иногда и выше), особенно маленькие настенные решения каналов сурраунд или потолочные системы. Для того чтобы перенаправить часть частотного диапазона «неполноценных» колонок на системы способные этот НЧ диапазон воспроизводить и существует система управления басом.  Таким образом, Bass Management – это процесс управления басом, или процесс перенаправления баса с основных каналов в канал сабвуфера и суммирование этих перенаправленных частот с частотами LFE сигнала.
Общие схемы системы управления басом представлены на рисунках ниже:

Помимо выше обозначенной основной задачи система управления басом должна обеспечивать  гибкое управление и настройку, в том числе и для решения других прикладных задач. Например, представьте, что у вас в системе вообще нет сабвуфера, и требуется перенаправить LFE сигнал на фронтальные каналы.   Или другой вариант: вы воспроизводите сигнал, где нет LFE дорожки. Это может быть любой обычный 2-канальный сигнал (CD, FM радио, Интернет радио, скаченная из Интернета музыка и т.д.), но при этом вы хотите, чтобы ваш сабвуфер работал вместе с фронтальными колонками. Для этого необходимо иметь возможность перенаправить часть НЧ диапазона с фронтальных каналов на сабвуфер, при этом не урезая их диапазон. Все эти задачи выполняет система управления басом.  Реализуется эта система управления басом в АВ ресиверах или АВ процессорах. В системе меню АВ ресиверов всегда есть раздел «Громкоговорители», или «Колонки», где можно найти пункты меню: Конфигурация, Кроссоверы, Басы (ресиверы Denon), Конфигурация далее кроссовер, Сверх низкие частоты (ресиверы Yamaha).  Именно здесь и производятся основные настройки системы управления  басом.
В основном разделе – Конфигурация —  вы активируете каждую систему и устанавливаете ее в режим «Большие» или «Малые» (Large или Small), в первом случае на эту систему пойдет полный диапазон 20Гц – 20кГц, во втором случае (установка Small), на эту систему пойдет только часть диапазона, срезанная фильтром высоких частот, значение среза которого задается в следующем разделе – Кроссоверы. В разделе Кроссоверы вы задаете срез ВЧ и НЧ фильтра, тех колонок, которые выставлены в режим «Малые» (Small) в предыдущем пункте. Бюджетные модели АВ ресиверов предлагают общую частоту среза для всех каналов, более дорогие ресиверы предлагают регулировку частоты среза каждой колонки по отдельности. Частота среза определяется исходя из частотных характеристик конкретной основной системы. Например, если речь идет о настенной тыловой колонке, которая имеет диапазон воспроизводимых  частот 60Гц – 20кГц (паспортные данные), то срез, устанавливаемый в меню Кроссоверы для этой колонки не должен быть ниже 60Гц. Установив такое значение (60Гц), диапазон 60Гц – 20кГц пойдет на колонки, а весь нижний диапазон: 20Гц – 60Гц будет направлен на сабвуфер, а при его отсутствии – на фронтальные колонки.  
Примечание: при установке частоты среза необходимо учитывать также и параметры мощности  системы. В описанном выше случае тыловые колонки могут воспроизводить диапазон начиная с 60Гц, однако, если их мощность существенно меньше мощности фронтальных колонок, то именно на низких частотах в определенный момент воспроизведения может произойти перегрузка этой тыловой системы.
В этом случае можно еще поднять частоту среза на тыловых системах, с целью перенаправить еще больше низких частот на сабвуфер, который, как правило имеет существенный запас по мощности.
В ресиверах компании Denon предлагаются 10 значений частот кроссоверов:  
40, 60, 80, 90, 100, 110, 120, 150, 200, 250 Гц (по умолчанию: 80 Гц).
Модели Denon с раздельной регулировкой кроссоверов для каждого канала начинаются с модели AVR-S650H. В базовых моделях AVR-S250BT, AVR-S550BT такая установка общая на все Small каналы.
В ресиверах компании Yamaha предлагаются 9 значений частот кроссоверов:  
40, 60, 80, 90, 100, 110, 120, 160, 200 Гц (по умолчанию: 80 Гц).
Модели с раздельной регулировкой кроссоверов для каждого канала начинаются с Yamaha RX-V685 (для модельного ряда 2019 года).
Ниже представлены схемы работы бас менеджмента  в режиме установки всех основных колонок в режим «Малые» (Small) и в режиме установки фронтальных колонок в режим «Большие» (Large).
Для наглядности, кроссовер ресивера на схемах представлен в виде раздельных НЧ и ВЧ фильтров:

Наиболее трудный для понимания многих пользователей пункт – Басы («Сверх низкие частоты» у ресиверов Yamaha). 
В инструкции по эксплуатации для ресиверов Yamaha предыдущих поколений мы найдем следующий текст:
Сверх низкие частоты.
Выбор колонок для воспроизведения НЧ диапазона фронтальных каналов.
ВЫКЛ. (по умолчанию) – Низкочастотный диапазон фронтальных каналов  воспроизводится либо фронтальными колонками (при установке Фронтальных колонок в Large), или сабвуфером (при установке  Фронтальных колонок в Small).   
ВКЛ. – Низкочастотный диапазон фронтальных колонок воспроизводится как фронтальными колонками, так и сабвуфером (эта настройка недоступна, если в Конфигурации Сабвуфер установлен в положение НЕТ или фронтальные колонки установлены в положение МАЛЫЕ (Small)).
В ресиверах Yamaha последних поколений пункт Сверхнизкие частоты был перенесен из меню настройки колонок,  раздела конфигурации в дополнительное Option меню, и был модернизирован алгоритм его работы.

А вот как интерпретируется эта настройка компанией Denon:
БАСЫ
Настройка воспроизведения диапазона сабвуфера и LFE (НЧ эффектов).
РЕЖИМ САБВУФЕРА
Выбирает сигналы НЧ диапазона для воспроизведения сабвуфером.
LFE (по умолчанию) – Сигнал НЧ диапазона каналов установленных в режим «Малые» добавляется к выходному сигналу LFE.
LFE + Гл. — Сигналы НЧ диапазонов всех каналов добавляются к выходному сигналу LFE сабвуфера.    

 В разделе БАСЫ компания Denon предлагает еще настройку фильтра LFE сигнала.
LPF для LFE
Фильтр низких частот только для LFE имеет значения: 80, 90, 100, 110, 120, 150, 200, 250 Гц.
По умолчанию установлена частота 120Гц, что соответствует стандарту диапазона LFE.
Это факультативная функция.
Несмотря на отличие формулировок, пункты: Сверх низкие частоты (Yamaha) и БАСЫ (Denon) выполняют одну и ту же функцию – добавляют к сигналу LFE еще и НЧ диапазон фронтальных колонок для дальнейшего воспроизведения этого суммарного сигнала на сабвуфере.
На рисунке ниже представлена схема работы системы управления басом для режима, когда фронтальные напольные колонки установлены в положение «Большие» (Large), и включен режим «Сверхнизкие частоты» (LFE + Гл.).

Считается, что более правильный и чистый вариант – установка «Сверх низких частот» в положение ВЫКЛ.  (чистый LFE режим у Denon). В этом случае НЧ диапазон, как и положено, воспроизводится только фронтальными каналами, а сабвуфер только добавляет LFE эффекты в общую картину звучания. Но в этом случае, как уже было замечено в начале статьи,  сабвуфер не будет работать при воспроизведении стерео контента — там, где нет LFE дорожек — если конечно не назначить фронтальные колонки как «Малые». Есть и еще один очевидный аспект – далеко не все напольные фронтальные колонки качественно  работают в диапазоне низких частот в районе нижней границы (20-40Гц). Хороший сабвуфер делает это гораздо уверенней.

Для того, чтобы фронтальные, напольные колонки воспроизводили полный диапазон, и сабвуфер также работал всегда и существует режим «Сверх низких частот» или LFE+Главные или LFE + Main.
Важно! Если активируются режим «LFE + Гл.» в АВ ресиверах Denon, в настройках Кроссовера появляется возможность установки частоты среза на  фронтальные колонки даже если они были назначены вами как «Большие». И чтобы не дублировать воспроизведение одних и тех же частот, и фронтальными колонками и сабвуфером, рекомендуется для «Больших» колонок в этом случае частоту среза ставить пониже (40-60Гц), для того чтобы сабвуфер больше прорабатывал самый низ НЧ диапазона и не мешал работе напольных фронтальных колонок. А вот в ресиверах Yamaha нет возможности регулировать частоту среза «Больших» фронтальных колонок в  этом «супер басовом» режиме.  
Ниже представлена диаграмма распределения частот в 11-канальной системе. Сравнение чистого режима LFE и LFE + Main (LFE + Гл.) с комментариями:

 

Мембрана (F) WR13 FD >= 560 Bosch/Buderus/Junkers 8738710126

  • org/ListItem»> Главная
  • ✔️ Мембраны котлов и колонок
  • Buderus
  • Мембрана (F) WR13 FD >= 560 Bosch/Buderus/Junkers 8738710126
  • Описание
  • Отзывы (0)

Мембрана (F) WR13 FD >= 560 Bosch/Buderus/Junkers 8738710126

ОПИСАНИЕ: 

Модель: WR13

Артикул: 8738710126

Производитель: Bosch/Buderus/Junkers

Страна производитель: Германия

Характеристики:

Мембрана к водяному редуктору газовой колонки. 

Мембрана водяного редуктора газовой колонки или котла является главным рабочим элементом в его конструкции, выполняя функцию перемещения штока с тарелкой в направлении газового клапана.  

Из-за разницы возникающего давления в областях водяного блока (между ними расположена мембрана), происходит выгибание мембраны под напором воды с большим давлением. 

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

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

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

Основными признаками неисправной мембраны являются: 

— нестабильный нагрев воды; — отсутствие воспламенения основной горелки или воспламенение с задержкой; 

— работа с рывками.

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

Габариты:

60,0 mm x 20,0 mm x 50,0 mm x 0,015 kg

Устанавливается в:

Bosch WR13-2 P23 B23 S5796 S5799, WRD13-2 G23

Написать отзыв

Ваше имя:

Ваш отзыв

Внимание: HTML не поддерживается! Используйте обычный текст!

Рейтинг     Плохо           Хорошо

Captcha

Введите код

ВАРИАНТЫ ОПЛАТЫ:


  • Наложенный платеж.
  • Безналичный расчет.
  • Предоплата на расчетный счет.

РЕКВИЗИТЫ ДЛЯ ОПЛАТЫ:

Реквизиты для оплаты вы получите в счёте на оплату.

ВАРИАНТЫ ДОСТАВКИ:

Доставка в отделение транспортной компании «СДЭК»

САМОВЫВОЗ:

Вы можете самостоятельно забрать Мембрана (F) WR13 FD >= 560 Bosch/Buderus/Junkers 8738710126 со склада по адресу:
г. Москва, 41 км МКАД, Славянский мир, ряд К, павильон 3/3

python – Как найти числовые столбцы в Pandas?

спросил

Изменено 8 месяцев назад

Просмотрено 267 тысяч раз

Допустим, df — это кадр данных pandas. Я хотел бы найти все столбцы числового типа. Что-то вроде:

 isNumeric = isNumeric(df)
 
  • питон
  • типы
  • панды

3

Вы можете использовать метод select_dtypes DataFrame. Он включает в себя два параметра include и exclude. Итак, isNumeric будет выглядеть так:

 numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
newdf = df.select_dtypes(include=numerics)
 

6

Простой однострочный ответ для создания нового фрейма данных только с числовыми столбцами:

 df.select_dtypes(include=np.number)
 

Если вам нужны имена числовых столбцов:

 df.select_dtypes(include=np.number).columns.tolist()
 

Полный код:

 импортировать панды как pd
импортировать numpy как np
df = pd.DataFrame({'A': диапазон (7, 10),
                   «В»: np.random.rand(3),
                   'C': ['фу', 'бар', 'баз'],
                   'D': ['кто', 'что', 'когда']})
дф
# А Б В Г
# 0 7 0.704021 Фу кто
# 1 8 0,264025 бар что
№ 2 90,230671 баз, когда
df_numerics_only = df.select_dtypes (include = np.number)
df_numerics_only
# А Б
# 0 7 0,704021
# 1 8 0,264025
# 2 9 0,230671
colnames_numerics_only = df. select_dtypes(include=np.number).columns.tolist()
colnames_numerics_only
# ['А', 'Б']
 

4

Вы можете использовать недокументированную функцию _get_numeric_data() для фильтрации только числовых столбцов:

 df._get_numeric_data()
 

Пример:

 В [32]: данные
Исход[32]:
   А Б
0 1 с
1 2 с
2 3 с
3 4 с
В [33]: data._get_numeric_data()
Вышел[33]:
   А
0 1
1 2
2 3
3 4
 

Обратите внимание, что это «частный метод» (т. е. деталь реализации), который может быть изменен или полностью удален в будущем. Использовать с осторожностью .

3

 df.select_dtypes (исключить = ['объект'])
 

Обновление:

 df.select_dtypes(include=np.number)
 

или с новой версией panda

 df.select_dtypes('number')
 

2

Простой однострочный:

 df. select_dtypes('number').columns
 

1

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

 cnames=list(marketing_train.select_dtypes(exclude=['object']).columns)
 

здесь marketing_train — это мой набор данных, а select_dtypes() — это функция для выбора типов данных с использованием аргументов исключения и включения, а столбцы используются для получения имени столбца набора данных. вывод приведенного выше кода будет следующим:

 ['custAge',
     'кампания',
     'дни',
     'предыдущий',
     'emp.var.rate',
     'минус.цена.idx',
     'cons.conf.idx',
     'еврибор3м',
     'nr.employed',
     'месяцев',
     'прошлый адрес электронной почты']
    
 

Это еще один простой код для поиска числового столбца во фрейме данных pandas,

 numeric_clmns = df.dtypes[df.dtypes != "объект"].index
 

Мы можем включать и исключать типы данных в соответствии с требованиями, как показано ниже:

 train. select_dtypes(include=None, exclude=None)
train.select_dtypes(include='number') # будет включать все числовые типы
 

Источник из Jupyter Notebook.

Чтобы выбрать все числовые типы , используйте np.number или 'number'

  • Для выбора строк необходимо использовать объект dtype, но обратите внимание, что это вернет все столбцов объекта dtype

  • См. иерархию типов NumPy __

  • Чтобы выбрать дату и время, используйте np.datetime64 , 'datetime' или 'дата-время64'

  • Чтобы выбрать временные дельты, используйте np.timedelta64 , 'timedelta' или 'timedelta64'

  • Чтобы выбрать категориальные типы Pandas, используйте «категория»

  • Чтобы выбрать типы данных Pandas datetimetz, используйте 'datetimetz' (новое в 0. 20.0) или «’datetime64[ns, tz]’

Хотя это старая тема,

, но я думаю, что следующая формула проще, чем все остальные комментарии

df[df.describe().columns]

столбец вывода будет только числовым.

4

См. приведенный ниже код:

 if(dataset.select_dtypes(include=[np.number]).shape[1] > 0):
дисплей (набор данных. select_dtypes (include = [np.number]). описание ())
если (dataset.select_dtypes (include = [np.object]). shape [1]> 0):
дисплей (набор данных. select_dtypes (include = [np.object]). описание ())
 

Таким образом, вы можете проверить, является ли значение числовым, таким как float и int, или значениями srting. второй оператор if используется для проверки строковых значений, на которые ссылается объект.

Адаптируя этот ответ, вы можете сделать

 df.ix[:,df.applymap(np.isreal).all(axis=0)]
 

Здесь np.applymap(np. isreal) показывает, является ли каждая ячейка во фрейме данных числовой, а .axis(all=0) проверяет, являются ли все значения в столбце истинными, и возвращает серию логических значений. который можно использовать для индексации нужных столбцов.

 по определению is_type(df, baseType):
    импортировать numpy как np
    импортировать панд как pd
    test = [issubclass(np.dtype(d).type, baseType) для d в df.dtypes]
    вернуть pd.DataFrame (данные = тест, индекс = df.columns, столбцы = ["тест"])
определение is_float (df):
    импортировать numpy как np
    возврат is_type (df, np.float)
определение is_number(df):
    импортировать numpy как np
    возврат is_type (df, np.number)
определение is_integer (df):
    импортировать numpy как np
    возврат is_type (df, np.integer)
 

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Обязательно, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

python — столбец Pandas DataFrame для списка

спросил

Изменено 2 года, 7 месяцев назад

Просмотрено 635 тысяч раз

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

Я могу вернуть правильные значения, но они находятся в pandas.core.frame.DataFrame. Как преобразовать это в список?

 импортировать панд как pd
tst = pd.read_csv('C:\\SomeCSV.csv')
lookupValue = tst['SomeCol'] == "SomeValue"
ID = tst[lookupValue][['SomeCol']]
#Как преобразовать ID в список
 
  • питон
  • панды

3

Можно использовать метод Series.to_list .

Например:

 импортировать панды как pd
df = pd.DataFrame({'a': [1, 3, 5, 7, 4, 5, 6, 4, 7, 8, 9],
                   'б': [3, 5, 6, 2, 4, 6, 7, 8, 7, 8, 9]})
печать (df['a'].to_list())
 

Вывод:

 [1, 3, 5, 7, 4, 5, 6, 4, 7, 8, 9]
 

Чтобы удалить дубликаты, вы можете сделать одно из следующих действий:

 >>> df['a'].drop_duplicates().to_list()
[1, 3, 5, 7, 4, 6, 8, 9]
>>> list(set(df['a'])) # как указал EdChum
[1, 3, 4, 5, 6, 7, 8, 9]
 

8

Я хотел бы уточнить несколько вещей:

  1. Как указывали другие ответы, проще всего использовать pandas. Series.tolist() . Я не уверен, почему самый популярный ответ начинается с использования pandas.Series.values.tolist() , поскольку, насколько я могу судить, он добавляет синтаксис/путаницу без каких-либо дополнительных преимуществ.
  2. tst[lookupValue][['SomeCol']] — это кадр данных (как указано в вопрос), а не серию (как указано в комментарии к вопросу). Это связано с тем, что tst[lookupValue] является кадром данных, и его нарезка с помощью [['SomeCol']] запрашивает список столбцов (этот список имеет длину 1), в результате чего возвращается кадр данных. если ты удалите дополнительный набор скобок, как в tst[lookupValue]['SomeCol'] , тогда вы запрашиваете именно это столбец, а не список столбцов, и, таким образом, вы получите серию обратно.
  3. Вам нужна серия для использования pandas.Series.tolist() , поэтому вам следует определенно пропустите второй набор скобок в этом случае. К вашему сведению, если вы когда-либо заканчиваться кадром данных с одним столбцом, которого нелегко избежать например, вы можете использовать pandas.DataFrame.squeeze() , чтобы преобразовать его в серия.
  4. tst[lookupValue]['SomeCol'] получает подмножество определенного столбца через цепная нарезка. Он нарезается один раз, чтобы получить фрейм данных только с определенными строками. влево, а затем снова нарезается, чтобы получить определенный столбец. Ты можешь получить да бросьте вы его здесь, так как вы просто читаете, а не пишете, а правильный способ сделать это tst.loc[lookupValue, 'SomeCol'] (который возвращает ряд).
  5. Используя синтаксис из #4, вы могли бы разумно сделать все в одной строке: ID = tst.loc[tst['SomeCol'] == 'SomeValue', 'SomeCol'].tolist()

Демонстрационный код:

 импортировать панды как pd
df = pd.DataFrame({'colA':[1,2,1],
                   'ЦВ':[4,5,6]})
значение_фильтра = 1
напечатать "дф"
распечатать дф
тип печати (df)
rows_to_keep = df['colA'] == значение_фильтра
print "\ndf['colA'] == значение_фильтра"
печатать rows_to_keep
тип печати (rows_to_keep)
результат = df[rows_to_keep]['colB']
print "\ndf[rows_to_keep]['colB']"
распечатать результат
тип печати (результат)
результат = df[rows_to_keep][['colB']]
print "\ndf[rows_to_keep][['colB']]"
распечатать результат
тип печати (результат)
результат = df[rows_to_keep][['colB']]. squeeze()
print "\ndf[rows_to_keep][['colB']].squeeze()"
распечатать результат
тип печати (результат)
результат = df.loc[строки_для_сохранения, 'colB']
print "\ndf.loc[rows_to_keep, 'colB']"
распечатать результат
тип печати (результат)
результат = df.loc[df['colA'] == filter_value, 'colB']
print "\ndf.loc[df['colA'] == filter_value, 'colB']"
распечатать результат
тип печати (результат)
ID = df.loc[rows_to_keep, 'colB'].tolist()
print "\ndf.loc[rows_to_keep, 'colB'].tolist()"
распечатать идентификатор
тип печати (ID)
ID = df.loc[df['colA'] == filter_value, 'colB'].tolist()
print "\ndf.loc[df['colA'] == filter_value, 'colB'].tolist()"
распечатать идентификатор
тип печати (ID)
 

Результат:

 дф
   colA colB
0 1 4
1 2 5
2 1 6
<класс 'pandas.core.frame.DataFrame'>
df['colA'] == значение_фильтра
0 Верно
1 Ложь
2 Правда
Имя: colA, dtype: bool
<класс 'pandas.core.series.Series'>
df[строки_для_сохранения]['colB']
0 4
2 6
Имя: colB, dtype: int64
<класс 'pandas.core.series.Series'>
df[rows_to_keep][['colB']]
   colB
0 4
2 6
<класс 'pandas. core.frame.DataFrame'>
df[rows_to_keep][['colB']].squeeze()
0 4
2 6
Имя: colB, dtype: int64
<класс 'pandas.core.series.Series'>
df.loc[строки_для_сохранения, 'colB']
0 4
2 6
Имя: colB, dtype: int64
<класс 'pandas.core.series.Series'>
df.loc[df['colA'] == filter_value, 'colB']
0 4
2 6
Имя: colB, dtype: int64
<класс 'pandas.core.series.Series'>
df.loc[строки_для_сохранения, 'colB'].tolist()
[4, 6]
<тип 'список'>
df.loc[df['colA'] == filter_value, 'colB'].tolist()
[4, 6]
<тип 'список'>
 

Вы можете использовать pandas.Series.tolist

например:

 импортировать pandas как pd
df = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6]})
 

Выполнить:

 >>> df['a'].tolist()
 

Вы получите

 >>> [1, 2, 3]
 

Приведенное выше решение подходит, если все данные имеют один и тот же dtype. Массивы Numpy — это однородные контейнеры. Когда вы делаете df.values ​​, на выходе получается массив numpy . Итак, если данные имеют int и с плавающей запятой , тогда на выходе будет либо int , либо с плавающей запятой , и столбцы потеряют свой первоначальный тип dtype.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *