错误代码如下:
raw_data = pd.read_csv('../data/train2.csv')
err_data =raw_data[raw_data['label'] == 1]
err_tlssubject = []
for item in err_data['tlsSubject']:
err_tlssubject.append(item)
错误信息如下:
C:\Users\lenovo\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\series.py:4523: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
downcast=downcast,
就我从流量日志里面取出错误数据的时候老要给我报这个Warning。一开始我觉得无可厚非。两三次下来,看着这个警告就烦。于是决定认真解决它一下。
用我好久没认真学的英语翻译:值正在尝试被设置在DataFrame一个切片的副本上。
不知道为什么这样要报警告,但解决的办法就是自己建个dataframe,把要复制的数据传进去。
修改后如下
raw_data = pd.read_csv('../data/train2.csv')
err_data = pd.DataFrame(raw_data[raw_data['label'] == 1])
err_tlssubject = []
for item in err_data['tlsSubject']:
err_tlssubject.append(item)