看利用PYTHON进行数据分析中有这样一个示例,比较难以理解,请帮忙解答一下。
>>> data=pd.DataFrame(data=pd.DataFrame(np.arange(18).reshape(6,3)))
>>> data
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
4 12 13 14
5 15 16 17
布尔索引并赋值:
>>> data[data>5]=np.sign(data)
>>> data
0 1 2
0 0 1 2
1 3 4 5
2 1 1 1
3 1 1 1
4 1 1 1
5 1 1 1
>>>
按照逻辑:
>>> data[data>5]
0 1 2
0 x x x
1 x x x
2 6.0 7.0 8.0
3 9.0 10.0 11.0
4 12.0 13.0 14.0
5 15.0 16.0 17.0
>>>
>>> np.sign(data)
0 1 2
0 0 1 1
1 1 1 1
2 1 1 1
3 1 1 1
4 1 1 1
5 1 1 1
按说两个DataFrame应该是逐一元素赋值的,为什么上面x=NAN
部分没有被赋值呢,还是他们有什么规则,还是我理解有偏差。