小编bob*_*obo的帖子

我是否正确理解了此Function.prototype.call()代码?

代码:

var content = Array.prototype.map.call(document.getElementsByTagName("p"), function(e) {
  return e.innerHTML;
}); 
Run Code Online (Sandbox Code Playgroud)

它来自p.367 JavaScript:The Definitive Guide,第6版.

这是我认为在这段代码中发生的事情.

该变量content被赋予对返回的段落标记的.map()调用结果.NodeListdocument.getElementsByTagName("p")

.map()方法从中访问Array.prototype,其this值设置为段落标记NodeList使用.call().由于.map()应用了具有访问权限的函数item, index, array,因此ein function(e)是项目NodeList.

所以content变量最终被包含的结果.innerHTML在每个呼叫的Element类型NodesNodeList当前文档中由段落标记.

.innerHTML如果给定的HTML元素中没有其他节点,它将返回该文本.否则它将返回其中的HTML节点.

那是对的吗?我试过了:

  1. 阅读Function.prototype.call上MDN文档
  2. 搜索程序员SE我发现了误解范围,我不确定如何解释.它声称MDN文档不完整.
  3. 权威书中阅读更多内容.
  4. 在JSFiddle中乱七八糟 - 代码按预期运行,我只是想知道它是如何做的.

javascript

11
推荐指数
1
解决办法
105
查看次数

Pandas 中浮点索引的目的是什么?

s.index=[0.0,1.1,2.2,3.3,4.4,5.5]
s.index
# Float64Index([0.0, 1.1, 2.2, 3.3, 4.4, 5.5], dtype='float64')
s
# 0.0    141.125
# 1.1    142.250
# 2.2    143.375
# 3.3    143.375
# 4.4    144.500
# 5.5    145.125
s.index=s.index.astype('float32')
# s.index
# Float64Index([              0.0, 1.100000023841858, 2.200000047683716,
#               3.299999952316284, 4.400000095367432,               5.5],
#              dtype='float64')
Run Code Online (Sandbox Code Playgroud)

浮点指数背后的直觉是什么?努力理解何时使用它们而不是 int 索引(似乎您可以拥有三种类型的索引:int64、float64 或 object,例如s.index=['a','b','c','d','e','f'])。

从上面的代码中,看起来 Pandas 真的希望浮点数索引是 64 位的,因为这些 64 位浮点数被转换为 32 位浮点数,然后返回到 64 位浮点数,dtype索引的剩余'float64'.

人们如何使用浮动指数?

是否认为您可能对数据进行了一些统计计算并希望对其结果进行排名,但这些结果可能是浮点数?并且我们要强制float64避免丢失分辨率?

python floating-point pandas

9
推荐指数
1
解决办法
943
查看次数

(n,) 在 numpy 和向量的上下文中是什么意思?

我尝试搜索 StackOverflow、谷歌搜索,甚至使用符号猎犬进行字符搜索,但无法找到答案。具体来说,我对Ch感到困惑。Nielsen 的Neural Networks and Deep Learning 的第 1 章,他说“假设输入a(n, 1) Numpy ndarray,而不是(n,) vector。”

起初我认为(n,)指的是数组的方向 - 所以它可能指的是一列向量,而不是只有一行的向量。但我不明白为什么我们需要(n,)(n, 1)两个-他们似乎在说同样的事情。我知道我误解了一些东西,但我不确定。

作为参考a,激活向量将输入到神经网络的给定层,然后通过权重和偏差进行转换以生成下一层的激活输出向量。

编辑:这个问题在“一列向量”(没有这样的东西)和“一列矩阵”(确实存在)之间模棱两可。“一行向量”和“一行矩阵”也是如此。

向量只是一个数字列表,或(等价地)向量空间基向量上的标量变换列表。如果一个向量只有一行(或一列),那么当我们将它写出来时,它可能看起来像一个矩阵。令人困惑的是,我们有时会提到“激活向量”,但实际上是指“转置的单行激活值矩阵,使其成为单列”。

请注意,在这两种情况下,我们都不是在讨论一维向量,该向量将是一个仅由一个数字定义的向量(除非,平凡地,n==1,在这种情况下,“列”或“行”区别的概念将毫无意义)。

python numpy machine-learning neural-network

8
推荐指数
2
解决办法
2168
查看次数

Python 中浮点规范与十进制(定点)规范

对于精度很重要的用例,是否建议使用 Python 的本机浮点实现或其十进制实现?

我认为这个问题很容易回答:如果累积误差具有重大影响,例如可能在计算轨道轨迹等方面,那么精确的表示可能更有意义。

我不确定一般的深度学习用例、一般科学计算(例如,很多人使用 numpy 或 scikit-learn,我认为它们使用浮点实现)以及金融计算(例如交易策略)的规范是什么是。

有谁知道Python中这三个领域的浮点与小数使用规范?

  1. 金融(交易策略)
  2. 深度学习
  3. 科学计算

谢谢

注意:这/不是/关于浮点和定点表示之间的差异的问题,或者为什么浮点运算会产生令人惊讶的结果。这是一个关于什么是规范的问题。

python precision scientific-computing numerical-methods

5
推荐指数
1
解决办法
1073
查看次数

为什么在空的html文件中应用边框时,通用选择器会显示两个元素?(CSS)

我正在Code Academy学习Web Fundamentals课程并注意到一些奇怪的事情.

如果我有这样的html文件:

<!DOCTYPE html>
<link type="text/css" rel="stylesheet" href="stylesheet.css"/>
Run Code Online (Sandbox Code Playgroud)

和这样的CSS文件:

* {
  border: 2px dashed black;
}
Run Code Online (Sandbox Code Playgroud)

我将看到概述的两个要素.看起来像浏览器窗口边缘的东西,然后是里面稍微小一点的盒子.这两个盒子是什么?我的HTML文件中没有元素,所以概述了什么?

起初我以为它是<html><body>元素的轮廓,所以我尝试删除<body>,尝试删除<head>,最终甚至删除<html>但仍然有两个框.

谢谢!

编辑:我按照建议尝试搜索,但找不到以前的答案.谢谢,很难找到这个具体问题的答案.

html css

2
推荐指数
1
解决办法
48
查看次数

numpy中dtype =和.astype()有什么区别?

上下文:我想numpy ndarraysfloat32而不是float64.

编辑:附加上下文 - 我关心如何numpy执行这些调用,因为它们将作为神经网络中反向传播例程的一部分重复发生.我希望网络能够进行所有加法/减法/乘法/除法以float32进行验证,因为我想将结果与另一组的工作进行比较.对于类似方法的初始化似乎randn总是来自float64- > float32with .astype()cast.一旦我ndarray的类型,float32如果我使用np.dot例如这些乘法发生在float32?我该如何验证?

我不清楚文档 - http://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html

我想我可以添加.astype('float32')到一个numpy调用的结尾,例如,np.random.randn(y, 1).astype('float32').

我也看到这dtype=np.float32是一个选项,例如,np.zeros(5, dtype=np.float32).但是,尝试np.random.randn((y, 1), dtype=np.float32)返回以下错误:

    b = np.random.randn((3,1), dtype=np.float32)
TypeError: randn() got an unexpected keyword argument 'dtype'
Run Code Online (Sandbox Code Playgroud)

将类型声明为float32使用dtype和使用有.astype()什么区别?

双方b = np.zeros(5, dtype=np.float32)b = np.zeros(5).astype('float32')当评价: …

numpy python-3.x

2
推荐指数
1
解决办法
2万
查看次数

为什么同一类的两个实例具有不同的属性(Python)是明智的?

class Stock:
...     def __init__(self, ticker, price):
...             self.ticker = ticker
...             self.price = price
...
>>> apple = Stock('APPL', 100)
>>> apple.ceo='tim cook' 
>>> google = Stock('GOOG', 10)
Run Code Online (Sandbox Code Playgroud)

现在,如果您进行比较dir(apple),则dir(google)apple实例将有一个额外的属性ceo

然而,isinstance(apple,Stock)isinstance(google,Stock)都是 True。

允许具有不同属性的对象同时成为同一类的实例背后的直觉是什么?你什么时候使用这个,实际上?

我会认为作为同一类实例的对象必须具有相同的属性列表。

python python-3.x

1
推荐指数
1
解决办法
31
查看次数