我有一个奇怪的问题。当我编辑 Jupyter Notebook 一段时间时,箭头键会突然停止对特定单元格起作用。但是,CTRL-箭头键和所有其他键将继续工作。此外,其他细胞不受影响。
一种繁琐的解决方法是创建一个新单元格并复制并粘贴受影响单元格的内容。如您所见,这非常不方便。
我感觉 VS Code 进入了某种奇怪的状态,但我不知道如何摆脱它。如果有人知道如何从中恢复,我将不胜感激。
我有一个关于(N,)维数组和(N,1)维数组之间转换的问题.例如,y是(2,)维度.
A=np.array([[1,2],[3,4]])
x=np.array([1,2])
y=np.dot(A,x)
y.shape
Out[6]: (2,)
Run Code Online (Sandbox Code Playgroud)
但以下将显示y2为(2,1)维度.
x2=x[:,np.newaxis]
y2=np.dot(A,x2)
y2.shape
Out[14]: (2, 1)
Run Code Online (Sandbox Code Playgroud)
在没有复制的情况下将y2转换回y的最有效方法是什么?
谢谢,汤姆
我有两个数据帧,两个数据帧都包含一个不规则间隔的毫秒分辨率时间戳列.我的目标是匹配行,以便对于每个匹配的行,1)第一个时间戳总是小于或等于第二个时间戳,2)匹配的时间戳对于满足1)的所有时间戳对最接近.
有没有办法用pandas.merge做到这一点?
我正在尝试制作一个看起来像这样的numpy数组:
[a b c ]
[ a b c ]
[ a b c ]
[ a b c ]
Run Code Online (Sandbox Code Playgroud)
所以这涉及更新主对角线和它上面的两个对角线.
这样做的有效方法是什么?
我遇到了以下排序行和列标题的问题.
以下是如何重现这个:
X =pd.DataFrame(dict(x=np.random.normal(size=100), y=np.random.normal(size=100)))
A=pd.qcut(X['x'], [0,0.25,0.5,0.75,1.0]) #create a factor
B=pd.qcut(X['y'], [0,0.25,0.5,0.75,1.0]) # create another factor
g = X.groupby([A,B])['x'].mean() #do a two-way bucketing
print g
#this gives the following and so far so good
x y
[-2.315, -0.843] [-2.58, -0.567] -1.041167
(-0.567, 0.0321] -1.722926
(0.0321, 0.724] -1.245856
(0.724, 3.478] -1.240876
(-0.843, -0.228] [-2.58, -0.567] -0.576264
(-0.567, 0.0321] -0.501709
(0.0321, 0.724] -0.522697
(0.724, 3.478] -0.506259
(-0.228, 0.382] [-2.58, -0.567] 0.175768
(-0.567, 0.0321] 0.214353
(0.0321, 0.724] 0.113650
(0.724, 3.478] -0.013758
(0.382, 2.662] …
Run Code Online (Sandbox Code Playgroud) 我想知道如何从熊猫系列中排除一个或多个项目.例如:
s = pd.Series(data=range(10), index=[chr(ord('A') + x) for x in range(10)])
Run Code Online (Sandbox Code Playgroud)
现在我想排除行B,D,E
一种效率极低的方法是:
index = s.index
for col in ['B','D','E']:
index = index.delete(index.get_loc(col))
new_series = s[index]
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点?
谢谢.
我试图使用ZeroMQ rep/req,无法弄清楚如何处理服务器端错误.看看这里的代码:
socket.bind("tcp://*:%s" % port)
while True:
# Wait for next request from client
message = socket.recv()
print "Received request: ", message
time.sleep (1)
socket.send("World from %s" % port)
Run Code Online (Sandbox Code Playgroud)
我的问题是如果客户端调用socket.send()然后挂起或崩溃会发生什么.服务器不会永远卡在socket.send()或socket.recv()上吗?
请注意,TCP套接字不是问题.使用TCP套接字,我可以简单地断开连接.使用ZMQ,我可以隐式管理连接,但我不知道是否可以打破"会话"或"连接"并重新开始.
我有一个带有浮点数列的数据帧.例如:
df = pd.DataFrame({'A' : np.random.randn(100), 'B': np.random.randn(100)})
Run Code Online (Sandbox Code Playgroud)
我想要做的是在将A列四舍五入到小数点后两位按A列分组.
我这样做的方式非常低效:
df.groupby(df.A.map(lambda x: "%.2f" % x))
Run Code Online (Sandbox Code Playgroud)
我特别不希望将所有内容转换为字符串,因为速度成为一个巨大的问题.但我觉得做以下事情并不安全:
df.groupby(np.around(df.A, 2))
Run Code Online (Sandbox Code Playgroud)
我不确定,但我觉得可能存在两个float64数字在舍入到2个小数位后具有相同字符串表示的情况,但是当np.around到2个小数位时可能会有略微不同的表示.例如,1.52的字符串表示是否有可能由np.around(.,2)表示为1.52000001,有时为1.51999999?
我的问题是什么是更好,更有效的方式.
中scikit-learn
,有评分函数的概念。如果我们有一些预测标签和真实标签,我们可以通过调用 来获得分数scoring(y_true, y_predict)
。这种评分函数的一个例子是sklearn.metrics.accuracy_score
。
评分函数不应与 混淆scorer
,后者是一个可以称为 的对象scorer(estimator, X, y_true)
。
中有许多内置的评分器scikit-learn
。可以通过字符串名称找到这些记分员。例如,我们可以通过调用sklearn.metrics.get_scorer("accuracy")
/
但事实证明,没有明显的机制可以在运行时通过名称访问内置评分函数,通过将名称作为 string 传递。例如,无法sklearn.metrics.accuracy_score
通过 name访问accuracy
。
例如,如果在运行时,程序知道变量中包含评分函数的名称name
,我正在寻找一种机制get_scoring_function()
,这样,get_scoring_function(name)
将返回评分函数句柄。请注意,此名称name
在编写脚本时未知。
有没有办法通过将名称作为字符串传入,在运行时通过名称访问内置评分函数?