小编Tom*_*ett的帖子

为什么箭头键在使用 Jupyter 扩展 v2023.3 的 VS Code Jupyter Notebook 中不起作用?

我有一个奇怪的问题。当我编辑 Jupyter Notebook 一段时间时,箭头键会突然停止对特定单元格起作用。但是,CTRL-箭头键和所有其他键将继续工作。此外,其他细胞不受影响。

一种繁琐的解决方法是创建一个新单元格并复制并粘贴受影响单元格的内容。如您所见,这非常不方便。

我感觉 VS Code 进入了某种奇怪的状态,但我不知道如何摆脱它。如果有人知道如何从中恢复,我将不胜感激。

visual-studio-code jupyter-notebook

46
推荐指数
2
解决办法
2万
查看次数

Numpy Vector(N,1)维度 - >(N,)维度转换

我有一个关于(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的最有效方法是什么?

谢谢,汤姆

python arrays numpy

28
推荐指数
3
解决办法
4万
查看次数

pandas.merge:匹配最近的时间戳> =时间戳系列

我有两个数据帧,两个数据帧都包含一个不规则间隔的毫秒分辨率时间戳列.我的目标是匹配行,以便对于每个匹配的行,1)第一个时间戳总是小于或等于第二个时间戳,2)匹配的时间戳对于满足1)的所有时间戳对最接近.

有没有办法用pandas.merge做到这一点?

python pandas

21
推荐指数
2
解决办法
1万
查看次数

在Numpy中创建特殊的对角矩阵

我正在尝试制作一个看起来像这样的numpy数组:

[a b c       ]
[  a b c     ]
[    a b c   ]
[      a b c ] 
Run Code Online (Sandbox Code Playgroud)

所以这涉及更新主对角线和它上面的两个对角线.

这样做的有效方法是什么?

python arrays numpy matrix toeplitz

13
推荐指数
2
解决办法
6916
查看次数

Pandas DataFrame.unstack()更改行和列标题的顺序

我遇到了以下排序行和列标题的问题.

以下是如何重现这个:

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)

python pandas

12
推荐指数
1
解决办法
3421
查看次数

从pandas系列中排除一个或多个项目

我想知道如何从熊猫系列中排除一个或多个项目.例如:

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)

有没有更好的方法来做到这一点?

谢谢.

python pandas

9
推荐指数
1
解决办法
3618
查看次数

ZeroMQ REQ/REP服务器错误处理

我试图使用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,我可以隐式管理连接,但我不知道是否可以打破"会话"或"连接"并重新开始.

zeromq pyzmq

9
推荐指数
1
解决办法
3762
查看次数

熊猫:按舍入浮点数组

我有一个带有浮点数列的数据帧.例如:

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?

我的问题是什么是更好,更有效的方式.

group-by pandas

9
推荐指数
1
解决办法
5088
查看次数

在 scikit-learn 中按名称获取评分函数

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在编写脚本时未知。

有没有办法通过将名称作为字符串传入,在运行时通过名称访问内置评分函数

scikit-learn

2
推荐指数
1
解决办法
363
查看次数