より大きいcsvファイルからtimeseriesをインポートしようとしていますが、ここで抽出された特定の列をポイントしています。列には見出しがないので、それをdf_time.columns = ['Year','Month','Day','Hour']
と重ねて表示しています。時間= 24のときのcsv datetime解析の処理 - pandas
2030 1 1 1 2.4
2030 1 1 2 2.1
2030 1 1 3 1.7
2030 1 1 4 1
2030 1 1 5 0.9
2030 1 1 6 1.5
2030 1 1 7 1.1
2030 1 1 8 0.6
2030 1 1 9 1.4
2030 1 1 10 2.2
2030 1 1 11 2
2030 1 1 12 3
2030 1 1 13 2.4
2030 1 1 14 2.6
2030 1 1 15 3.1
2030 1 1 16 2.6
2030 1 1 17 1.9
2030 1 1 18 1.9
2030 1 1 19 2.6
2030 1 1 20 1.7
2030 1 1 21 1.1
2030 1 1 22 1.3
2030 1 1 23 1.4
2030 1 1 24 1.7
2030 1 2 1 2.1
時間0-23の罰金働いている私のスクリプトは、以下の通りです:
def my_import(f):
df_time = pd.read_csv(f, skiprows=8, usecols=[0,1,2,3])
df_time = df_time.astype(int)
df_time.columns = ['Year','Month','Day','Hour']
df_time['period'] = df_time.apply(lambda x : str(int(x['Year']))
+str(int(x['Month'])).zfill(2)
+str(int(x['Day'])).zfill(2)
+' '+str(int(x['Hour'])/100).zfill(2), axis = 1)
df_time.loc[:, 'Date'] = pd.to_datetime(df_time['period'], format = '%Y/%m/%d %H')
df_time.drop(['Year', 'Month', 'Day', 'Hour', 'period'], axis = 1, inplace = True)
df_DBT = pd.read_csv(f, skiprows=8, usecols=[6])
df = pd.concat([df_time,df_DBT], axis = 1)
df = df.set_index(['Date'])
return df
問題は認識していないパンダ24、で発生します。私は簡単に24を0に置き換えることができますが、チャレンジは1日増えています。
日時解析前に列の値に+1を追加すると、31日ごとに32日になり、さらにエラーが発生します。 to_datetime
コマンドを日時に別々に実行するスクリプトを修正しようとしましたが、運がありません。
これは非常にイライラです!
私はすでにパンダ0.19.0が大好き! – Andreuccio