У меня есть датафрейм в пандах, который выглядит следующим образом
Year Month Month_index Rainfall
1900 Jan 1 4.8
1901 Jan 1 5
.
.
.
1900 Feb 2 3.2
1901 Feb 2 4.3
.
.
Чтобы использовать индексирование по времени и дате, мне нужно изменить его на вид -
Year Month Month_index Rainfall
1900 Jan 1 4.8
1900 Feb 2 3.2
.
.
1901 Jan 1 5
1901 Feb 2 4.3
.
.
Конечно, полные 12 месяцев я просто показываю для краткости. Я довольно плохо знаком с Python, поэтому я не знаю, есть ли команда, которая сделает это.
Заранее спасибо!
edit: вот код, который я использую, чтобы получить до сих пор -
import csv
#import pyexcel-io as pi
import numpy as np
import pandas as pd
import dateutil
#Read data from csv file into dataframe
df =pd.read_csv('/Users/Gingeraffe/Documents/University/3rd_year/Bureau_Research/Notebooks/Data/rainfall_SW_WA.csv')
months = df.columns[1:]
#Melt is putting months down a column and the data down another column.
Problem is ' jan jan jan... feb feb feb..' etc. instead of 'jan feb mar.. etc'
df = pd.melt(df, id_vars='Year', value_vars=months, var_name='Month')
df.insert(2,'Month_index',0)
M = {'Jan':1, 'Feb':2, 'Mar':3, 'Apr':4, 'May':5, 'June':6, 'July':7, 'Aug':8, 'Sep':9, 'Oct':10, 'Nov':11, 'Dec':12}
df.Month_index = df.Month.map(M)