Tôi đang cố gắng để chuyển đổi một unstacked, đa lập chỉ mục dữ liệu-frame trở lại một đơn gấu trúc chỉ số datetime.Chuyển đổi gấu trúc đa-index để gấu trúc timestamp
Chỉ số gốc dữ liệu-frame của tôi, tức là trước khi đa chỉ mục và unstacking, trông như thế này:
In [1]: df1_season.index
Out [1]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2013-05-01 02:00:00, ..., 2014-07-31 23:00:00]
Length: 1472, Freq: None, Timezone: None
sau đó tôi áp dụng nhiều chỉ mục và unstacking vì vậy tôi có thể vẽ đồ thị dữ liệu hàng năm trên đầu trang của mỗi khác như thế này:
df_sort = df1_season.groupby(lambda x: (x.year, x.month, x.day, x.hour)).agg(lambda s: s[-1])
df_sort.index = pd.MultiIndex.from_tuples(df_sort.index, names=['Y','M','D','H'])
unstacked = df_sort.unstack('Y')
My mới dữ liệu khung cho hai ngày đầu tiên của tháng trông như thế này:
In [2]: unstacked
Out [2]:
temp season
Y 2013 2014 2013 2014
M D H
5 1 2 24.2 22.3 Summer Summer
8 24.1 22.3 Summer Summer
14 24.3 23.2 Summer Summer
20 24.6 23.2 Summer Summer
2 2 24.2 22.5 Summer Summer
8 24.8 22.2 Summer Summer
14 24.9 22.4 Summer Summer
20 24.9 22.8 Summer Summer
736 rows × 4 columns
Chỉ số cho khung dữ liệu mới hiển thị ở trên bây giờ trông như thế này:
In [2]: unstacked.index.values[0:8]
Out [2]:
array([(5, 1, 2), (5, 1, 8), (5, 1, 14), (5, 1, 20), (5, 2, 2), (5, 2, 8), (5, 2, 14),
(5, 2, 20], dtype=object)
mà không tạo ra một âm mưu rất đẹp đối với xticks (lớn và nhỏ) với. Nếu tôi có thể chuyển đổi nhiều chỉ mục này trở lại chỉ số datetime một ngày, chỉ sử dụng dữ liệu tháng, ngày và giờ, thì các dấu chính/nhỏ sẽ được vẽ theo cách tự động theo cách tôi muốn (tôi nghĩ). Ví dụ:
giải pháp hiện tại:
xticks = (5, 1, 2), (5, 1, 8) … (5, 2, 20)
giải pháp yêu cầu:
xticks(major) = Day, Month (displayed as MAY 01, MAY 02 etc etc)
xticks(minor) = Hour (displayed as 02h 08h … 20h)
Ngay cả một gợi ý nhỏ cũng sẽ được đánh giá cao. – roi3i3ie
Tôi làm cách nào để giải quyết vấn đề này? Có một số câu hỏi ở đây hơn một tuổi mà không có bất kỳ câu trả lời nào. – roi3i3ie
Một tháng khác? Bất cứ điều gì ở tất cả sẽ giúp ... – roi3i3ie