我有以下numpy数组:
x = np.arange(9.).reshape(3, 3)
从而:
>>>> x
array([[ 0., 1., 2.],
[ 3., 4., 5.],
[ 6., 7., 8.]])
我想选择第三列大于2的所有行.
在熊猫中,我会这样做:
import pandas as pd
d = DataFrame(x)
>>>> d[d.iloc[:,2]>2]
输出将是:
0 1 2
1 3 4 5
2 6 7 8
如何使用numpy获得相同的输出?我尝试了numpy,但它返回索引,而不是值.
谢谢!
解决方法:
In [120]:
x[x[: , 2] > 2]
Out[120]:
array([[ 3., 4., 5.],
[ 6., 7., 8.]])
分解
In [122]:
mask = x[: , 2] > 2
mask
Out[122]:
array([False, True, True], dtype=bool)
In [123]:
x[mask]
Out[123]:
array([[ 3., 4., 5.],
[ 6., 7., 8.]])
标签:python,pandas,numpy,subset 来源: https://codeday.me/bug/20190829/1762178.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。