format number is not recognized in a cycle
Diego Avesani
diego.avesani at gmail.com
Mon Feb 4 10:02:50 EST 2019
Dear Peter,
thanks a lot for your patience.
this is the code:
import pandas as pd
import numpy as np
from datetime import datetime
#input:
start_date = np.array(["2012-01-01 06:00",'2013-01-01 06:00','2014-01-01 06:00'])
end_date = np.array(["2013-01-01 05:00",'2014-01-01 05:00','2015-01-01 05:00'])
yearfolder = np.array(['2012','2013','2014'])
for ii in range(0, 1):
df = pd.read_csv('dati.csv',delimiter=',',header=0,parse_dates=True,na_values=-999)
df['datatime'] = df['datatime'].map(lambda x: datetime.strptime(str(x), "%Y-%m-%d %H:%M"))
mask = (df['datatime'] > start_date[ii]) & (df['datatime'] <= end_date[ii])
df = df.loc[mask]
and here a piece of my dati.csv file
datatime,T,RH,PSFC,DIR,VEL10,PREC,RAD,CC,FOG
2012-01-01 06:00, -0.1,100, 815,313, 2.6, 0.0, 0, 0,0
2012-01-01 07:00, -1.2, 93, 814,314, 4.8, 0.0, 0, 0,0
2012-01-01 08:00, 1.7, 68, 815,308, 7.5, 0.0, 41, 11,0
2012-01-01 09:00, 2.4, 65, 815,308, 7.4, 0.0, 150, 33,0
2012-01-01 10:00, 3.0, 64, 816,305, 8.4, 0.0, 170, 44,0
2012-01-01 11:00, 2.6, 65, 816,303, 6.3, 0.0, 321, 22,0
2012-01-01 12:00, 2.0, 72, 816,278, 1.3, 0.0, 227, 22,0
2012-01-01 13:00, -0.0, 72, 816,124, 0.1, 0.0, 169, 22,0
2012-01-01 14:00, -0.1, 68, 816,331, 1.4, 0.0, 139, 33,0
2012-01-01 15:00, -4.0, 85, 816,170, 0.6, 0.0, 49, 0,0
2012-01-01 16:00, -5.6, 92, 816,168, 0.8, 0.0, 0, 0,0
2012-01-01 17:00, -6.4, 96, 817,109, 0.4, 0.0, 0, 0,0
2012-01-01 18:00, -6.9,100, 817,116, 0.6, 0.0, 0, 0,0
2012-01-01 19:00, -7.5,100, 817,127, 0.8, 0.0, 0, 0,0
2012-01-01 20:00, -7.7,100, 817,136, 0.6, 0.0, 0, 0,0
2012-01-01 21:00, -7.7,100, 818,118, 0.7, 0.0, 0, 0,0
2012-01-01 22:00, -7.8,100, 817,130, 0.5, 0.0, 0, 0,0
2012-01-01 23:00, -7.9,100, 816,160, 0.6, 0.0, 0, 0,0
2012-01-02 00:00, -8.3,100, 816,123, 0.6, 0.0, 0, 0,0
2012-01-02 01:00, -8.6,100, 815,119, 0.8, 0.0, 0, 11,0
2012-01-02 02:00, -9.1,100, 814,118, 1.1, 0.0, 0, 33,0
thanks, again, a lot
On Monday, 4 February 2019 15:51:41 UTC+1, Peter Otten wrote:
> Diego Avesani wrote:
>
> > Dear all,
> >
> > I have this dataframe:
> >
> > datatime,T,RH,PSFC,DIR,VEL10,PREC,RAD,CC,FOG
> > 2012-01-01 06:00, 0.4,100, 911,321, 2.5, 0.0, 0, 0,0
> > 2012-01-01 07:00, 0.8,100, 911,198, 0.8, 0.0, 0, 22,0
> > 2012-01-01 08:00, 0.6,100, 912, 44, 1.2, 0.0, 30, 22,0
> > 2012-01-01 09:00, 3.1, 76, 912, 22, 0.8, 0.0, 134, 44,0
> > 2012-01-01 10:00, 3.4, 77, 912, 37, 0.5, 0.0, 191, 67,0
> > 2012-01-01 11:00, 3.5,100, 912,349, 0.4, 0.0, 277, 44,0
> > 2012-01-01 12:00, 3.6,100, 912, 17, 0.9, 0.0, 292, 22,0
> > 2012-01-01 13:00, 3.5,100, 912, 28, 0.3, 0.0, 219, 44,0
> > 2012-01-01 14:00, 3.3, 68, 912, 42, 0.5, 0.0, 151, 22,0
> >
> > ....
> > ....
> >
> > I would like to plot and analyse different part of it. Consequently I have
> > created the following variables in order to manage different period:
> >
> > start_date = np.array(['2012-01-01 06:00','2013-01-01 06:00','2014-01-01
> > 06:00'])
> > end_date = np.array(['2013-01-01 05:00','2014-01-01 05:00','2015-01-01
> > 05:00'])
> >
> > However, if I try to perform the following cycle:
> >
> > for ii in range(0, 1):
> > pd.read_csv('dati.csv',delimiter=',',header=0,parse_dates=True,
> > na_values=-999)
> > df['datatime'] = df['datatime'].map(lambda x: datetime.strptime(str(x),
> > "%Y-%m-%d %H:%M"))
> > #
> > mask = (df['datatime'] > start_date[ii]) & (df['datatime'] <=
> > end_date[ii])
> >
> > I get the following error:
> >
> > return _get_dtype_type(np.dtype(arr_or_dtype))
> > File "/usr/lib/python2.7/dist-packages/numpy/core/_internal.py", line
> > 173, in _commastring
> > (len(result)+1, astr))
> > ValueError: format number 1 of "2012-01-01 06:00" is not recognized
> >
> >
> >
> > On the contrary, if I use the simple variables:
> > start_date = 2012-01-01 06:00
> > end_date = 2013-01-01 05:00
> >
> > without the cycle, it works.
> >
> > I really do not understand why.
>
> Nor do I.
>
> Also, I cannot run the code above, and when I fill in the missing parts
> using guesswork I cannot reproduce the error.
>
> Would you mind posting a small script, inserted via cut and paste into your
> message, that we can run without any additions?
>
> You may want to read http://www.sscce.org/ first.
More information about the Python-list
mailing list