在数据框中创建一个新列

时间:2018-10-16 02:43:14

标签: python pandas dataframe

我有一个5列的data frame。其中两个列的类型为datetime64[ns],分别为Start_TimeEnd_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. 有什么建议吗?

谢谢!

0 个答案:

没有答案