randint(2)的解释<;1在python中,我无法理解<;1有

randint(2)的解释<;1在python中,我无法理解<;1有,python,numpy,matplotlib,pandas,Python,Numpy,Matplotlib,Pandas,在python中,给定 兰丁(2)

在python中,给定 兰丁(2)<1, 有人能解释一下 <1 意味着什么

我正在使用IP[y]:笔记本

请原谅之前的信息不足,这是代码

%pylab inline
from __future__ import division
import pandas as pd
c = randint(2 ,size=100) < 1
s1 = pd.Series(c)
s1.head()
s1.value_counts()
%pylab内联
来自未来进口部
作为pd进口熊猫
c=randint(2,尺寸=100)<1
s1=pd系列(c)
s1.总目()
s1.值_计数()

该行生成一个真值矩阵

带有
size
参数的生成一个新的
numpy.ndarray
对象,其中
size
元素在0和2之间随机选取(独占),因此在本例中为100个0或1值:

>>> numpy.random.randint(2, size=100)
array([0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1,
       0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1,
       0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0,
       1, 1, 1, 1, 1, 1, 1, 0])
然后,
<1
生成一个布尔值数组(
True
False
):

>numpy.random.randint(2,大小=100)<1
数组([假,假,假,假,真,假,真,真,真,
假,假,真,真,真,假,假,真,真,
真,假,假,真,真,真,假,假,真,
假,假,假,假,假,真,真,假,真,
假,假,假,真,假,真,假,真,假,真,假,
假,真,真,真,假,真,真,假,假,
假,真,真,假,假,假,真,假,真,
真,真,假,假,假,真,假,假,假,
假,假,真,真,真,真,真,假,真,假,
真,真,假,真,假,真,假,真,假,
False,True,False,False,True,True,False,True,False],数据类型=bool)

然后,此数组将转换为Pandas
Series
对象。

因为您使用的是pylab,所以它不是内置的,而是一个完全不同的函数

此处
<1
用于将整数数组转换为布尔数组:

>>> np.random.randint(2, size=100)
array([0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1,
       0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1,
       1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 0, 0, 0, 1, 0, 0])
>>> np.random.randint(2, size=100) < 1
array([False, False,  True, False, False,  True,  True,  True,  True,
       False, False, False, False, False,  True, False,  True,  True,
       False, False, False, False,  True, False,  True,  True, False,
        True, False,  True,  True,  True,  True, False,  True, False,
       False,  True,  True, False,  True,  True, False,  True, False,
        True,  True, False, False,  True,  True,  True,  True, False,
       False,  True,  True, False,  True, False, False,  True,  True,
        True,  True,  True, False,  True,  True, False,  True,  True,
       False, False,  True,  True,  True,  True,  True, False, False,
        True, False, False, False,  True, False, False,  True,  True,
        True,  True, False,  True, False, False, False, False, False,  True], dtype=bool)

附加代码在这里至关重要;您没有
random.randint()
,而是
numpy.random.randint()
,这是一个非常不同的函数。该函数的
size
参数对结果更为重要;它生成一个array.Martijn-可能与接受的答案的原因相同(问题发生了重大变化,导致2个答案错误)。不管怎样,你的答案现在已经被编辑成了我答案的直接副本——也许你可以删除你的答案,并对已有的信息进行升级,而不是不必要的复制?@wim:对不起,事实上,我在编辑我的答案时没有读过你的答案。不过,你们确实增加了一个更好的选择。谢谢各位,这真的很有帮助。这个代码是一个更大的代码的一部分,我需要先理解它,然后才能继续。正确/错误的答案使我理解了代码的其余部分。你们这些家伙太棒了。:)
>>> np.random.randint(2, size=100)
array([0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1,
       0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1,
       1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 0, 0, 0, 1, 0, 0])
>>> np.random.randint(2, size=100) < 1
array([False, False,  True, False, False,  True,  True,  True,  True,
       False, False, False, False, False,  True, False,  True,  True,
       False, False, False, False,  True, False,  True,  True, False,
        True, False,  True,  True,  True,  True, False,  True, False,
       False,  True,  True, False,  True,  True, False,  True, False,
        True,  True, False, False,  True,  True,  True,  True, False,
       False,  True,  True, False,  True, False, False,  True,  True,
        True,  True,  True, False,  True,  True, False,  True,  True,
       False, False,  True,  True,  True,  True,  True, False, False,
        True, False, False, False,  True, False, False,  True,  True,
        True,  True, False,  True, False, False, False, False, False,  True], dtype=bool)
randint(2, size=100).astype(bool)