我有一个5列的data frame
。其中两个列的类型为datetime64[ns]
,分别为Start_Time
和End_Time
。
我想在我的data frame
中创建一个名为Overall_Time
的新列。
我这样做的方式是:
df['Overall_Time'] = df['End_Time'] - df['Start_Time']
但是,我收到此消息:
C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:1: 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
"""Entry point for launching an IPython kernel.
所以我尝试了这种方式:
df['Overall_Time'] = df.loc[:,'End_Time'] - df.loc[:,'Start_Time']
但是收到的消息与第一次相同。
问题是,它确实在df
中创建了该新列,但是消息提示它正在复制(?),所以我尝试使用.loc
并仍然说同样的话...
所以我该如何使用.loc
来避免收到此消息:A value is trying to be set on a copy of a slice from a DataFrame.
有什么建议吗?
谢谢!