Я читаю CSV-файл о количестве сотрудников в США по годам и месяцам (в тысячах). Он начинается следующим образом:
Year,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
1961,45119,44969,45051,44997,45119,45289,45400,45535,45591,45716,45931,46035
1962,46040,46309,46375,46679,46668,46644,46720,46775,46888,46927,46910,46901
1963,46912,47000,47077,47316,47328,47356,47461,47542,47661,47805,47771,47863
...
Я хочу, чтобы мой Pandas Датафрейм имел дату и время в качестве индекса для значения каждого месяца . Я делаю это, чтобы потом добавить значения для определенных c временных диапазонов. Я хочу, чтобы это выглядело примерно так:
1961-01-01 45119.0
1961-02-01 44969.0
1961-03-01 45051.0
1961-04-01 44997.0
1961-05-01 45119.0
...
Я провел небольшое исследование и подумал, что если бы я сложил годы и месяцы вместе, я мог бы объединить их в дату и время. Вот что я сделал:
import pandas as pd
import numpy as np
df = pd.read_csv("BLS_private.csv", header=5, index_col="Year")
df.columns = range(1, 13) # I transformed months into numbers 1-12 for easier datetime conversion
df = df.stack() # Months are no longer columns
print(df)
Вот мой вывод:
Year
1961 1 45119.0
2 44969.0
3 45051.0
4 44997.0
5 45119.0
...
Я не знаю, как объединить год и месяцы в составных индексах. Помогает ли в моем случае наложение индексов? Я также не очень хорошо знаком с Pandas datetime, поэтому любое объяснение того, как я мог бы это использовать, было бы очень полезно. Также, если у кого-то есть альтернативные решения, чем создание индекса datetime, я приветствую идеи.