所以我有一个数据框如下
name, car
foo, bmw
bar, audi
baz, tesla
foobaz, bmw
Run Code Online (Sandbox Code Playgroud)
现在我有另一本字典,比如
car_type = {'bmw': 'gas', 'audi': 'hybrid', 'tesla': 'electric'}
Run Code Online (Sandbox Code Playgroud)
现在,我想向数据框添加一个新列,如下所示
name, car, type
foo, bmw, gas
bar, audi, hybric
baz, tesla, electric
foobaz, bmw, gas
Run Code Online (Sandbox Code Playgroud)
我如何在熊猫中做到这一点?
我有一本字典
example: A = {1:'one',2:'two' , 3: 'three}
Run Code Online (Sandbox Code Playgroud)
所以我想要的基本上就像一个2 for循环的东西..所以我可以得到以下顺序..
# 1 2
# 1 3
# 2 3
... and so on if more elements are there
Run Code Online (Sandbox Code Playgroud)
所以基本上o(n2)操作..我们有一个带循环的循环我们如何在python字典中实现这一点.我很难搞清楚......
for key in A.keys():
# how do i Access all the other keys..
# do something
Run Code Online (Sandbox Code Playgroud)
谢谢
我已经在我的mac中安装了MAMP.所以MAMP中的mysql运行得很好.但是当我尝试安装mysqldb时,我收到以下错误
Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "/Users/mohitdeepsingh/Downloads/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/Users/mohitdeepsingh/Downloads/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Run Code Online (Sandbox Code Playgroud)
我应该如何解决这个问题.大多数建议是安装mysql等但不是mysql已经存在.我是否需要更改某种配置文件?如果是这样,任何人都可以指出我应该修改哪个配置文件
我有一个2d numpy数组这样的东西:
[[ 1 2 3 4],
[4,5,6,7]..
...... ] ]
Run Code Online (Sandbox Code Playgroud)
现在我想把它分成两部分.让我们说第一个numpy数组有前两个元素.而第二个numpy数组的其余元素就像这样
B = [[1 2 3 4],
[4 5 6 7]]
C = [[ rest of the elements]]
Run Code Online (Sandbox Code Playgroud)
我该怎么做谢谢
我一直很好奇
为什么python有不同的打印方式?
例如
print "this is ",a," and " ,b
Run Code Online (Sandbox Code Playgroud)
VS
print "this is %d and %d" %(a,b)
Run Code Online (Sandbox Code Playgroud)
任何性能问题?和东西?
我是猪的新手..我正在尝试编写一个udf函数.
所以基本上这里是问题陈述.
我有这样的虚拟数据..
user_id, movie_id, date_time_stamp
Run Code Online (Sandbox Code Playgroud)
所以我想要做的就是这个.如果交易介于两者之间
9 am and 11 am --> breakfast
and so on
Run Code Online (Sandbox Code Playgroud)
所以这是我的猪脚本
REGISTER path/myudfs.jar
in = LOAD 'path/input' USING
PigStorage('\\u001') AS (user:long,movie:long, time:chararray);
result = foreach in GENERATE myudfs.time(time);
STORE result INTO 'path/output/time' using PigStorage(',');
Run Code Online (Sandbox Code Playgroud)
现在myudf.jar java代码是这样的
public class time extends EvalFunc<String>{
public String exec(Tuple input) throws IOException {
if ((input == null) || (input.size() == 0))
return null;
try{
String time = (String) input.get(0) ;
DateFormat df = new SimpleDateFormat("hh:mm:ss.000");
Date date = …Run Code Online (Sandbox Code Playgroud) 我有以下Reducer类
public static class TokenCounterReducer extends Reducer<Text, Text, Text, Text> {
public void reduce(Text key, Iterable<Text> values, Context context)
throws IOException, InterruptedException {
JSONObject jsn = new JSONObject();
for (Text value : values) {
String[] vals = value.toString().split("\t");
String[] targetNodes = vals[0].toString().split(",",-1);
jsn.put("source",vals[1] );
jsn.put("target",targetNodes);
}
// context.write(key, new Text(sum));
}
}
Run Code Online (Sandbox Code Playgroud)
通过示例(免责声明:新手在这里),我可以看到一般输出类型似乎是一个键/值存储.
但是,如果输出中没有任何键,该怎么办?或者如果我想要的话,如果我的输出是其他格式(在我的情况下为json)?
无论如何,从上面的代码:我想写json对象到HDFS?
这在Hadoop流媒体中非常简单..但我如何在Hadoop java中做到这一点?
我有一个主要课程,我有类似的东西
void FooBar(String s){
try {
parseString(s);
} catch (Exception e) {
e.printStackTrace();
System.err.println("Error: " + e.getMessage());
context.getCounter(Counters.ERROR).increment(1); // this increment doesnt increases
}
}
Run Code Online (Sandbox Code Playgroud)
parseString是
void ParseString(String s){
if (matcher.matches()) {
} else {
//throw exception
try {
throw new Exception("bad formatted N-triples");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,错误不会向上传播.在我的FooBar方法中,即使函数格式化数据不正确,错误计数器也不会递增.
如何向上传播此异常?
我想试试这个问题.
所以这就是我想要做的:我有三个功能.比如说,foo,bar和foo_bar
def foo_bar(function):
for i in range(20):
function # execute function
def foo(someargs):
print "hello from foo"
def bar(someargs):
print " hello from bar"
Run Code Online (Sandbox Code Playgroud)
当我这样做的时候 foo_bar(foo) # how to specify arguments to foo??
我期待着我看到了"hello from foo" 20 times吗?
但是因为我没有看到这一点......我显然不太清楚这一点吗?
我有一个生成随机数的函数,如下所示:
def genRandom(): Double = {
//pass
return something
}
Run Code Online (Sandbox Code Playgroud)
现在,我如何调用上面的函数来创建k维随机向量?我一直在想
(0 to k).foreach {
// FIXME Vec.append(getRandom())
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
我如何调用此genRandom函数k次并从中创建一个随机向量?