Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pandas timestamp series to string?

I am new to python (coming from R), and I am trying to understand how I can convert a timestamp series in a pandas dataframe (in my case this is called df['timestamp']) into what I would call a string vector in R. is this possible? How would this be done?

I tried df['timestamp'].apply('str'), but this seems to simply put the entire column df['timestamp'] into one long string. I'm looking to convert each element into a string and preserve the structure, so that it's still a vector (or maybe this a called an array?)

like image 847
StatsStudent Avatar asked Jun 24 '17 22:06

StatsStudent


People also ask

How do I convert a timestamp to a series?

Use the astype() Function to Convert a Pandas Timestamp Series to a String. The astype() function will convert the data type of a Pandas DataFrame columns. The astype() function works alike in cases of both a single column or a set of columns.

How do you convert time series to data in Python?

To resample time-series data, use the pandas resample() function. It is a time series frequency conversion and resampling convenience technique. The caller must give the label of a DateTime-like series/index to the on/level keyword argument if the object has a DateTime-like index.


3 Answers

Consider the dataframe df

df = pd.DataFrame(dict(timestamp=pd.to_datetime(['2000-01-01'])))

df

   timestamp
0 2000-01-01

Use the datetime accessor dt to access the strftime method. You can pass a format string to strftime and it will return a formatted string. When used with the dt accessor you will get a series of strings.

df.timestamp.dt.strftime('%Y-%m-%d')

0    2000-01-01
Name: timestamp, dtype: object

Visit strftime.org for a handy set of format strings.

like image 94
piRSquared Avatar answered Oct 05 '22 13:10

piRSquared


Use astype

>>> import pandas as pd
>>> df = pd.to_datetime(pd.Series(['Jul 31, 2009', '2010-01-10', None])) 
>>> df.astype(str)
0    2009-07-31
1    2010-01-10
2           NaT
dtype: object

returns an array of strings

like image 45
VinceP Avatar answered Oct 05 '22 14:10

VinceP


Following on from VinceP's answer, to convert a datetime Series in-place do the following:

df['Column_name']=df['Column_name'].astype(str)

like image 41
MarMat Avatar answered Oct 05 '22 13:10

MarMat