小编Nic*_*gan的帖子

使用pandas按列返回n个最小索引

我有以下(简化)数据帧:

df = pd.DataFrame({'X': [1, 2, 3, 4, 5,6,7,8,9,10],
'Y': [10,20,30,40,50,-10,-20,-30,-40,-50],
'Z': [20,18,16,14,12,10,8,6,4,2]},index=list('ABCDEFGHIJ'))
Run Code Online (Sandbox Code Playgroud)

这给出了以下内容:

    X   Y   Z
A   1  10  20
B   2  20  18
C   3  30  16
D   4  40  14
E   5  50  12
F   6 -10  10
G   7 -20   8
H   8 -30   6
I   9 -40   4
J  10 -50   2
Run Code Online (Sandbox Code Playgroud)

我想创建一个新的数据帧,按列返回n个最小值的索引.

期望的输出(例如,3个最小值):

   X  Y  Z
0  A  J  J
1  B  I  I
2  C  H  H
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?

python pandas

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

列式数据库优化与关系数据库优化有何不同?

我有以下数据库结构,存储在关系数据库中:

  • 两个事实表,每个约 8000 万行
  • 具有 300,000 - 500,000 行的三个维度表
  • 两个事实表都有 3 个外键,用于连接到维度表
  • 一张安全表也有 3 个外键,用于连接维度表

一位开发人员正在使用我的数据创建一个使用列式数据库的应用程序。他们一直遇到性能问题,当我建议向他们的表添加索引/键时,他们说索引列式数据库并不能提高性能。结果,他们要求我将事实表与维度表结合起来。

这似乎与我所了解的数据库管理基本原则相矛盾。列式数据库真的不能使用索引来提高性能吗?应该采取哪些步骤来优化柱状性能?

我在寻求高层信息,但为了完整起见,关系数据库是Teradata,列数据库是SAP HANA。

sql database-design query-optimization relational-database columnstore

5
推荐指数
1
解决办法
1507
查看次数

从 bokeh==2.1.1 升级到 bokeh==2.2.0 会破坏figure.image_rgba()

使用以下代码时,此代码片段会呈现图像(尽管是颠倒的)bokeh==2.1.1

from PIL import Image
import numpy as np
import requests

from bokeh.plotting import figure
from bokeh.io import output_notebook
from bokeh.plotting import show
output_notebook()

response = requests.get('https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg', stream=True)
rgba_img = Image.open(response.raw).convert("RGBA")
numpy_img = np.array(rgba_img)

fig = figure()
plotted_image = fig.image_rgba(image=[np_img], x=50, y=50, dw=50, dh=50)
show(fig)
Run Code Online (Sandbox Code Playgroud)

bokeh==2.2.0在(以及更高版本)中运行完全相同的代码不会输出任何内容,并且不会引发任何错误。

bokeh 的发行说明没有提及任何更改image_rgba()

python python-3.x bokeh

3
推荐指数
1
解决办法
404
查看次数

string.rstrip()正在删除多余的字符

为什么这个语句会删除'E'in 'PIPELINE':

In: 'PIPELINE_DEV'.rstrip('_DEV')
Out: 'PIPELIN'
Run Code Online (Sandbox Code Playgroud)

但是这个声明没有删除'S':

In: 'PIPELINES_DEV'.rstrip('_DEV')
Out: 'PIPELINES'
Run Code Online (Sandbox Code Playgroud)

该声明最后删除了所有的E:

In: 'PIPELINEEEEEEEE_DEV'.rstrip('_DEV')
Out: 'PIPELIN'
Run Code Online (Sandbox Code Playgroud)

当我将rstrip转换为2个单独的语句时,它可以正常工作:

In: 'PIPELINE_DEV'.rstrip('DEV').rstrip('_')
Out: 'PIPELINE'
Run Code Online (Sandbox Code Playgroud)

python string python-3.x

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