Как выбрать столбцы на основе их типов данных в pydatatable? - PullRequest
1 голос
/ 27 января 2020

Я создаю таблицу данных следующим образом:

spotify_songs_dt = dt.fread('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-01-21/spotify_songs.csv')

и типы ее столбцов:

spotify_songs_dt.stypes

Здесь я хотел бы вынуть только числовые c поля DT, и как это может быть достигнуто с помощью данных ?. В pandas dataframe у нас есть своего рода функция select_dtypes () для него.

1 Ответ

1 голос
/ 27 января 2020

Если у вас есть рамка DT, то самый простой способ выбрать столбцы определенного типа c - это использовать сам тип в селекторе DT[:,j]:

DT[:, bool]          # all boolean columns
DT[:, int]           # all integer columns
DT[:, float]         # all floating columns
DT[:, str]           # string columns
DT[:, dt.int32]      # columns with stype int32
DT[:, dt.ltype.int]  # columns with ltype `int`, same as DT[:, int]

Это Также можно предоставить список типов для выбора:

DT[:, [int, float]]          # integer and floating columns
DT[:, [dt.int32, dt.int64]]  # int32 and int64 columns

Иногда может быть также полезно удалить столбцы нежелательного типа вместо выбора нужных:

del DT[:, str]
...