转载自https://blog.csdn.net/blackyuanc/article/details/77892784
问题场景:
在读取CSV文件后,在新增一个特征列并根据已有特征修改新增列的值,结果在修改的过程中碰到SettingWithCopyWarning警告。
报错的做法:
1 import pandas as pd
2 import numpy as np
3
4 aa = np.array([1,0,1,0])
5 bb = pd.DataFrame(aa.T, columns=['one'])
6
7 bb['two'] = 0
8
9 for i in range(bb.shape[0]):
10 bb['two'][i] = 1
11
12 print(bb)
正确的做法:
1 # -*- coding: utf-8 -*-
2 import pandas as pd
3 import numpy as np
4
5 aa = np.array([1,0,1,0])
6 bb = pd.DataFrame(aa.T, columns=['one'])
7
8 # 建立
9 two = np.zeros(bb.shape[0])
10
11 # 修改
12 for i in range(bb.shape[0]):
13 two[i] = random.random()
14
15 # 插入
16 bb.insert(0,'two',two)
17
18 print(bb)