У меня есть кадр данных, который выглядит следующим образом:
acquisition_date conductivity manufacturer number_bought price_per_unit runtime
0 05/25/2008 06:20 PM 115.372339 555-timer 1 9.909869 685.378635
1 07/05/2008 01:58 PM 96.981356 diode 6 11.673483 1020.772530
2 03/25/2008 08:52 AM 103.809491 resistor 7 9.879431 910.086424
3 10/31/2008 05:28 PM 95.805199 transistor 5 10.097940 912.137440
4 03/17/2008 06:58 PM 98.447452 thermistor 0 12.280878 1277.008237
, где date
содержит timestamp
, а manufacturer
содержит тип данных string
.Я хочу пройти через фрейм данных, столбец за столбцом и создать словарь, ключи которого являются типом данных, а значения - это столбцы с данным типом данных.
Вот что я делаю сейчас:
g = dframe.columns.to_series().groupby(dframe.dtypes).groups
data_types = {k.name: v for k, v in g.items()}
и data_types
выглядит так:
{'float64': Index(['conductivity', 'price_per_unit', 'runtime'], dtype='object'),
'int64': Index(['number_bought'], dtype='object'),
'object': Index(['acquisition_date', 'manufacturer'], dtype='object')}
, где acquisition_date
и manufacturer
нерассматривается как timestamp
и string
, но как objects
.Есть ли способ включить timestamp
, string
и другие возможные типы данных в этот текст?
РЕДАКТИРОВАТЬ: Просто чтобы убедиться, что я был ясен в том, что я спрашиваю.Я хочу изменить приведенный выше код, чтобы дать мне:
{'float64': Index(['conductivity', 'price_per_unit', 'runtime'], dtype='object'),
'int64': Index(['number_bought'], dtype='object'),
'timestamp': Index(['acquisition_date'], dtype='object'),
'string': Index(['manufacturer'], dtype='object')}