MCVEを作るためにあなたのデータをフォーマットした:
import pandas as pd
data = {
'smonth': ['Apr', 'Jan', 'Jul', 'Oct']
,'temp': [61, 32, 69, 43]
}
df = pd.DataFrame(data)
我々は、次のデータフレームがあります。
smonth temp
0 Apr 61
1 Jan 32
2 Jul 69
3 Oct 43
今、私たちはあなたの文字列の月は(listを参照してください、%b
フォーマッタを使用して)に変換し、カラム日付に、次にインデックスに移動し、最終的にMonthフィールドを抽出します。
df['month'] = pd.DatetimeIndex(pd.to_datetime(df['smonth'], format='%b')).month
そして、ソートインデックスを再作成して:
df = df.set_index('month').sort_index()
それが行われます。
smonth temp
month
1 Jan 32
4 Apr 61
7 Jul 69
10 Oct 43
更新
私は明示的に使用して、あなたの入力を再現する場合:次に
df2 = pd.DataFrame(
data['temp']
,index=pd.Index(data['smonth'], name='Month')
,columns=['Temp']
)
それ減少する:
df2.index = pd.to_datetime(df2.index, format='%b').month
df2.sort_index(inplace=True)
とリターン:
Temp
Month
1 32
4 61
7 69
10 43
あなたがこの回答を参照することができhttps://stackoverflow.com/a/39078261/4662041 – Sheshnath
@Sheshnath私はどのように把握することはできていないようですこの例を使用して、インデックスに日付から%bだけを持つ、私のものに適用します。また、 'Index'オブジェクトに 'strftime'属性がないというエラーが表示される – user8834780