我知道在 C 中,如果一个变量是用register关键字显式指定的,那么就不能&在它上面使用运算符,这对我来说是有道理的,即没有总是保存在寄存器中的变量的“地址”这样的东西。
我的问题是,如果编译器自行决定将变量存储在寄存器中而不是将其溢出,那么&在代码执行期间运算符会发生什么?
我可以想到编译器可能会尝试处理的两种方法:
&行为,但这似乎很麻烦,我不知道如何严格有效地做到这一点。&运算符与此变量一起使用,则始终溢出变量。在这种情况下,C 是采用其中一种方法还是执行其他操作?
我正在使用 python 2.7 的 Anaconda 发行版,特别是 iPython shell(不确定 shell 在这里是否是正确的术语)。
当我尝试这样做时,from matplotlib.colors import ListedColorMap我收到此错误:
ImportError Traceback (most recent call last)
<ipython-input-12-6f067472330e> in <module>()
----> 1 from matplotlib.colors import ListedColorMap
ImportError: cannot import name ListedColorMap
Run Code Online (Sandbox Code Playgroud)
但是,当我from matplotlib.colors import BoundaryNorm这样做时,它确实有效并且没有任何异常。
导致此问题的原因可能是什么以及如何解决?
假设我正在尝试创建一些 stackoverflow 元数据的计数向量(实际上不是我正在做的事情,但类似)。所以 DataFrame 可能看起来像这样:
question: description: tags:
Q1 desc1 java, android
Q2 desc2 python, machine learning
Q3 desc3 javascript, Node.js
Run Code Online (Sandbox Code Playgroud)
如果我想使用每个单独的标签而不是标签组合创建频率计数,我该怎么做?
我知道我可以使用df.groupby('tags').count(),但那只会被认为java, android是它自己的类别,而不是被认为java是一个类别和`android 是一个单独的类别。