Я импортирую этот набор данных и выбираю интервал с
data_frame = pd.read_csv('household_power_consumption.txt',
sep=';',
parse_dates={'dt' : ['Date', 'Time']},
infer_datetime_format=True,
low_memory=False,
na_values=['nan','?'],
index_col='dt')
df_08_09 = data_frame.truncate(before='2008-01-01', after='2010-01-01')
df_08_09.info()
, чтобы получить
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 1052641 entries, 2008-01-01 00:00:00 to 2010-01-01 00:00:00
Data columns (total 7 columns):
Global_active_power 1052641 non-null float64
Global_reactive_power 1052641 non-null float64
Voltage 1052641 non-null float64
Global_intensity 1052641 non-null float64
Sub_metering_1 1052641 non-null float64
Sub_metering_2 1052641 non-null float64
Sub_metering_3 1052641 non-null float64
dtypes: float64(7)
memory usage: 64.2 MB
Я просто хотел узнать, как я могу обработать DatetimeIndex dt
в качестве столбца данных, чтобы использовать lmplot()
или regplot()
, например, для:
seaborn.regplot(x="dt", y="Global_active_power", data=df_08_09)
dt
всегда создает проблемы, потому чтоSeaborn по какой-то причине не может получить к нему доступ. Я попытался получить доступ к DatetimeIndex , но я не нашел способа извлечь его и сделать из него столбец данных, потому что я не совсем привык к пандам.
Я ожидаю, что seaborn найдет в данных dt
, но это не так и выдает ошибку соответственно. Для меня ясно видеть это, но я не знаю, как относиться к этому эффективным способом python / pandas / seaborn. Поэтому, пожалуйста, помогите мне! :)
... Кстати, другой вопрос ... Мне также интересно, почему df_08_09.Global_active_power.values
возвращает массив np.array (n,)
, а не (n,1)
. Я всегда вынужден делать values = np.array([values]).transpose()
, чтобы восстановить (n,1)