python - Pandas split a columns value and assign back to the column -


i working following pandas data frame has column containing date string. date has time.

(pdb) temp_df_no_na['logged_dt'].head(n=5) 0    01/19/2010 00:00:00.000000 1    03/28/2009 00:00:00.000000 2    09/22/2005 00:00:00.000000 3    12/14/2010 00:00:00.000000 5    02/23/2010 00:00:00.000000 

i want split space between date @ time , keep date part.

i wrote following lambda function , did apply. did work end getting warning , worried results might corrupt. why warning this:

temp_df_no_na['logged_dt'] =  temp_df_no_na['logged_dt'].apply(lambda x:x.split(" ")[0] if(x.split(" ") > 0) else x) 

here warning

settingwithcopywarning:  value trying set on copy of slice dataframe. try using .loc[row_indexer,col_indexer] = value instead  see caveats in documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy   dataframecreator import dataframecreator  (pdb) temp_df_no_na['logged_dt'].head(n=5) 0    01/19/2010 1    03/28/2009 2    09/22/2005 3    12/14/2010 5    02/23/2010 

method 1
timestamp pd.to_datetime

temp_df_no_na.logged_dt = pd.to_datetime(temp_df_no_na.logged_dt) temp_df_no_na.logged_dt  0   2010-01-19 1   2009-03-28 2   2005-09-22 3   2010-12-14 5   2010-02-23 name: logged_dt, dtype: datetime64[ns] 

method 2
dt.strftime

temp_df_no_na.logged_dt = pd.to_datetime(temp_df_no_na.logged_dt).dt.strftime('%y-%m-%d') temp_df_no_na.logged_dt  0   2010-01-19 1   2009-03-28 2   2005-09-22 3   2010-12-14 5   2010-02-23 name: logged_dt, dtype: object 

mehtod 3
str.split

temp_df_no_na.logged_dt = temp_df_no_na.logged_dt.str.split().str[0] temp_df_no_na.logged_dt  0   2010-01-19 1   2009-03-28 2   2005-09-22 3   2010-12-14 5   2010-02-23 name: logged_dt, dtype: object 

Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -