【发布时间】:2015-11-22 00:48:41
【问题描述】:
我的数据框中有 Data2 列。我正在尝试通过对 Data2 列应用过滤器来创建一个新列('NewCol')。下面的代码有效,新列的结果是正确的。但是在运行代码时我收到以下错误消息。我怎样才能解决这个问题?我认为这会影响性能。
C:\Python27\lib\site-packages\IPython\kernel__main__.py:2: SettingWithCopyWarning: 正在尝试在 DataFrame 中的切片副本上设置值
请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
# In[1]:
import pandas as pd
import numpy as np
from pandas import DataFrame
# In[2]:
df = pd.DataFrame({'Date': ['2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05', '2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05'], 'Sym': ['aapl', 'aapl', 'aapl', 'aapl', 'aaww', 'aaww', 'aaww', 'aaww'], 'Data2': [11, 8, 10, 15, 110, 60, 100, 40],'Data3': [5, 8, 6, 1, 50, 100, 60, 120]})
# In[4]:
df['NewCol'] = ''
df['NewCol'][df['Data2']> 60] = 'True'
df
【问题讨论】: