在学习 Python 3 并将一些代码从 Java 转换为 Python 3.3 时,我遇到了一个无法修复的小问题。
在Java中我有这个代码(只是虚拟代码以使其更小):
public enum Mapping {
C11{public int getMapping(){ return 1;}},
C12{public int getMapping(){ return 2;}},
public abstract int getMapping();
}
String s = "C11";
System.out.println(Mapping.valueOf(s))
Run Code Online (Sandbox Code Playgroud)
工作正常并打印所需的“1”尝试在 Python 中执行此操作并不那么容易(目前为止)。我尝试用以下方法模仿枚举:
class Mapping:
C11=1
C12=2
s = 'C11'
print(Mapping.Mapping.(magic should happen here).s)
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不知道如何将字符串转换为要像这样(或类似的东西)调用的属性。我需要这个,因为我在映射类中有一个巨大的列表,并且需要将从文本文件读取的看似随机的单词转换为整数映射。
我想对每列的矩阵进行标准化.我现在有这个代码工作正常:
A = randn(10,3)
maxA = max(A,[],1)
minA = min(A,[],1)
for i=1:size(A,2)
A(:,i) = (A(:,i) - minA(i) ./ (maxA(i) - minA(i))
end
Run Code Online (Sandbox Code Playgroud)
但是,由于我的矩阵会更大,大约10k乘60k循环将需要永远.我怎么能矢量化我的代码?我曾想过使用Matlab,normc但这与我的代码不一样.
我想使用 python 3.3.2 创建一个具有固定前缀的字符串列表,其中后缀基于列表的大小。
例如我有一个等于 3 的列表。elements输出len(elements)应该是一个列表output = ['prefix_1','prefix_2','prefix_3']
我可以通过使用循环来做到这一点:
elements = ['elem1','elem2','elem3']
output = []
for i in range(len(elements)):
output.append('prefix_'+str((i+1)))
Run Code Online (Sandbox Code Playgroud)
这可行,但对我来说似乎有点……unpythonic。有没有更Pythonic的方法来做到这一点?例如列表理解?
我有一个前端,它通过一个简单的宏生成引导程序表单:
{% macro render_field(field, class_='', label_visible=true) -%}
<div class="form-group {% if field.errors %} has-error {% endif %}">
{% if (field.type != 'HiddenField' and field.type !='CSRFTokenField') and label_visible %}
<label for="{{ field.id }}" class="control-label">{{ field.label }}</label>
{% endif %}
{{ field(class_='form-control', **kwargs) }}
{% if field.errors %}
{% for e in field.errors %}
<p class="help-block">{{ e }}</p>
{% endfor %}
{% endif %}
</div>
{%- endmacro %}
Run Code Online (Sandbox Code Playgroud)
我使用的 wtform 如下所示:
class CommentForm(Form):
comment = TextAreaField(validators=[DataRequired('Please enter your comment.')])
Run Code Online (Sandbox Code Playgroud)
是否可以为aria-required="true"具有作为验证器的字段添加前端验证 …
是否可以分解 Spark 数据框列?分解是指创建列中每个唯一值到相同 ID 的映射。
示例,原始数据框:
+----------+----------------+--------------------+
| col1| col2| col3|
+----------+----------------+--------------------+
|1473490929|4060600988513370| A|
|1473492972|4060600988513370| A|
|1473509764|4060600988513370| B|
|1473513432|4060600988513370| C|
|1473513432|4060600988513370| A|
+----------+----------------+--------------------+
Run Code Online (Sandbox Code Playgroud)
到分解版本:
+----------+----------------+--------------------+
| col1| col2| col3|
+----------+----------------+--------------------+
|1473490929|4060600988513370| 0|
|1473492972|4060600988513370| 0|
|1473509764|4060600988513370| 1|
|1473513432|4060600988513370| 2|
|1473513432|4060600988513370| 0|
+----------+----------------+--------------------+
Run Code Online (Sandbox Code Playgroud)
在 Scala 本身中它会相当简单,但是由于 Spark 将它的数据帧分布在节点上,我不确定如何从A->0, B->1, C->2.
此外,假设数据帧非常大(千兆字节),这意味着可能无法将一整列加载到一台机器的内存中。
可以做到吗?
我在一个目录中有很多文件,每个文件都包含跨越多行的文本。目前,我使用以下代码将所有这些文件读取到 spark 数据集(> 2.0)
val ddf = spark.read.text("file:///input/*")
Run Code Online (Sandbox Code Playgroud)
但是,这会创建一个数据集,其中每一行都是一行,而不是一个文件。我希望数据集中的每行都有每个文件(作为字符串)。
如何在不迭代每个文件并将其单独读取的情况下实现这一点RDD?
想象一个机器学习问题,其中有 20 个类和大约 7000 个稀疏布尔特征。
我想弄清楚每个类的 20 个最独特的功能是什么。换句话说,在特定类中经常使用但在其他类中未使用或几乎不使用的功能。
什么是可以做到这一点的好的特征选择算法或启发式方法?
apache-spark ×2
python-3.x ×2
scala ×2
java ×1
jinja2 ×1
matlab ×1
python ×1
string ×1
value-of ×1
wtforms ×1