Pandas拆分一个columns值并将其分配回该列

2024-04-25 08:52:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理下面的pandas数据框,其中有一列包含日期作为字符串。日期也有时间。在

(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

我想按时间上日期之间的间隔分割,只保留日期部分。在

我写了下面的lambda函数并做了一个应用程序。它确实起了作用,但最终得到了警告,我担心结果可能会被破坏。为什么我会得到这样的警告:

^{pr2}$

这是警告

SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  from 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

Tags: nofrom警告pandasdfvalue时间dt
1条回答
网友
1楼 · 发布于 2024-04-25 08:52:41

方法一 获取Timestamppd.to_日期时间在

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]

方法 dt.strftime

^{pr2}$

方法三 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

相关问题 更多 >