如果我有两个清单
l1 = [ 'A', 'B' ]
l2 = [ 1, 2 ]
Run Code Online (Sandbox Code Playgroud)
获得pandas数据框的最优雅方式是什么,如下所示:
+-----+-----+-----+
| | l1 | l2 |
+-----+-----+-----+
| 0 | A | 1 |
+-----+-----+-----+
| 1 | A | 2 |
+-----+-----+-----+
| 2 | B | 1 |
+-----+-----+-----+
| 3 | B | 2 |
+-----+-----+-----+
Run Code Online (Sandbox Code Playgroud)
注意,第一列是索引.
I found that mock object in Mockito would throw ClassNotFoundException when used in Spark. Here is a minimal example:
import org.apache.spark.{SparkConf, SparkContext}
import org.mockito.{Matchers, Mockito}
import org.scalatest.FlatSpec
import org.scalatest.mockito.MockitoSugar
trait MyTrait {
def myMethod(a: Int): Int
}
class MyTraitTest extends FlatSpec with MockitoSugar {
"Mock" should "work in Spark" in {
val m = mock[MyTrait](Mockito.withSettings().serializable())
Mockito.when(m.myMethod(Matchers.any())).thenReturn(1)
val conf = new SparkConf().setAppName("testApp").setMaster("local")
val sc = new SparkContext(conf)
assert(sc.makeRDD(Seq(1, 2, 3)).map(m.myMethod).first() == 1)
}
}
Run Code Online (Sandbox Code Playgroud)
which would throw the following exception:
[info] …Run Code Online (Sandbox Code Playgroud) 作为tensorflow的初学者,我很好奇看到tensorflow的预先估算器(例如tf.estimator.LinearClassifier)定义的图形。
具有以下代码段:
import numpy as np
import tensorflow as tf
estimator = tf.estimator.LinearClassifier(
feature_columns=[tf.feature_column.numeric_column("x")],
model_dir="stackoverflow_model"
)
input_fn = tf.estimator.inputs.numpy_input_fn(x={"x": np.arange(5)}, y=np.array([1] * 5), shuffle=True)
estimator.train(input_fn)
Run Code Online (Sandbox Code Playgroud)
我可以LinearClassifier在张量板上看到完美定义的图:
但是,如果我什么都没有,则:
print(tf.get_default_graph().as_graph_def())
Run Code Online (Sandbox Code Playgroud)
我只会得到:
versions {
producer: 26
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:该图在哪里定义LinearClassifier,如何正确检查它using as_graph_def()?
谢谢!
最近我发现了由erase方法引起的unordered_set这种奇怪的行为.我提出下面的最小例子.
首先,我创建一个unordered_set.然后我擦除其中一个元素,比如法国.然后我用for循环擦除每个元素.执行时,它会出现段错误.但是,如果我评论删除法国部分,那么代码工作正常.
这个程序是用编译的g++ test.cpp --std=c++11.g ++的版本是4.9.1.
#include <iostream>
#include <string>
#include <unordered_set>
int main ()
{
std::unordered_set<std::string> myset =
{"USA","Canada","France","UK","Japan","Germany","Italy"};
// erasing by key, causing segfault later; no segfault if commented out
myset.erase ( "France" );
std::cout << "myset contains:";
for ( const std::string& x: myset ) { myset.erase(x); }
// The problem persists for a regular for loop as well.
//for ( std::unordered_set<std::string>::iterator it = myset.begin(); it!=myset.end(); it++ ) { myset.erase(it); }
std::cout << std::endl; …Run Code Online (Sandbox Code Playgroud)