i have a datetime pandas.Series
. One column called "dates". I want to get 'i' element in loop like string.
s.apply(lambda x: x.strftime('%Y.%m.%d'))
or
astype(str).tail(1).reset_index()['date']
or many other solutions don't work.
I just want a string like '2016-09-16'
(first datetime element in series) and not what is currently returned, which is:
ss = series_of_dates.astype(str).tail(1).reset_index()['date']
"lol = %s" % ss
lol = 0 2016-09-16\nName: date, dtype: object
I need just:
lol = 2016-09-16
because I need
some string
% a , b , s ,d
..... without even '/n' in a, b ,s ...
I think you can use strftime
for convert datetime
column to string
column:
import pandas as pd
start = pd.to_datetime('2015-02-24 10:00')
rng = pd.date_range(start, periods=10)
df = pd.DataFrame({'dates': rng, 'a': range(10)})
print (df)
a dates
0 0 2015-02-24 10:00:00
1 1 2015-02-25 10:00:00
2 2 2015-02-26 10:00:00
3 3 2015-02-27 10:00:00
4 4 2015-02-28 10:00:00
5 5 2015-03-01 10:00:00
6 6 2015-03-02 10:00:00
7 7 2015-03-03 10:00:00
8 8 2015-03-04 10:00:00
9 9 2015-03-05 10:00:00
s = df.dates
print (s.dt.strftime('%Y.%m.%d'))
0 2015.02.24
1 2015.02.25
2 2015.02.26
3 2015.02.27
4 2015.02.28
5 2015.03.01
6 2015.03.02
7 2015.03.03
8 2015.03.04
9 2015.03.05
Name: dates, dtype: object
Loop with Series.iteritems
:
for idx, val in s.dt.strftime('%Y.%m.%d').iteritems():
print (val)
2015.02.24
2015.02.25
2015.02.26
2015.02.27
2015.02.28
2015.03.01
2015.03.02
2015.03.03
2015.03.04
2015.03.05
In order to extract the value, you can try:
ss = series_of_dates.astype(str).tail(1).reset_index().loc[0, 'date']
using loc
will give you the contents just fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With