小编Gea*_*ric的帖子

保存pandas.Series直方图图到文件

在ipython Notebook中,首先创建一个pandas Series对象,然后通过调用实例方法.hist(),浏览器显示该图.

我想知道如何将这个数字保存到文件(我的意思是不是通过右键单击并另存为,但脚本中需要的命令).

python histogram pandas

58
推荐指数
3
解决办法
7万
查看次数

RuntimeWarning:在日志中遇到零除

我使用numpy.log10来计算概率值数组的日志.数组中有一些零,我正在尝试使用它

result = numpy.where(prob > 0.0000000001, numpy.log10(prob), -10)
Run Code Online (Sandbox Code Playgroud)

但是,RuntimeWarning: divide by zero encountered in log10仍然出现了,我肯定是这条线引起了警告.

虽然我的问题已经解决,但我很困惑为什么这个警告一次又一次出现?

python numpy

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

禁用索引pandas数据帧

如何在pandas数据框中删除或禁用索引?

我正在从"python for data analysis"一书中学习大熊猫,我已经知道我可以使用dataframe.drop删除一列或一行.但我没有找到任何关于禁用所有指数的信息.

python pandas

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

pyspark在大熊猫的平面地图

pandas中的操作是否与pyspark中的flatMap相同?

flatMap示例:

>>> rdd = sc.parallelize([2, 3, 4])
>>> sorted(rdd.flatMap(lambda x: range(1, x)).collect())
[1, 1, 1, 2, 2, 3]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以想到apply其次itertools.chain,但我想知道是否有一步到位的解决方案.

pandas pyspark

8
推荐指数
2
解决办法
5193
查看次数

在matplotlib中为subplot添加标签

是否有自动方式将纯标签添加到子图中?具体来说,我用过

ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
Run Code Online (Sandbox Code Playgroud)

我想在子图中的右上角添加'A'和'B'来区分它们,现在我正在使用虚拟方式

ax1.annotate('A', xy=(2, 1), xytext=(1, 22))
ax2.annotate('B', xy=(2, 1), xytext=(1, 22))
Run Code Online (Sandbox Code Playgroud)

我试过用

ax1.legend()
Run Code Online (Sandbox Code Playgroud)

这也给了我在字母之前的线条或点的"小图像",我不需要那个图像.

python matplotlib

5
推荐指数
2
解决办法
9470
查看次数

用于热图的 Pandas 中的 bin DataFrame

我想从 Pandas 中的 DataFrame 绘制热图。数据看起来像

df = pd.DataFrame({"A": np.random.random(100), "B": np.random.random(100), "C": np.random.random(100)})

为了显示C如何作为AB的函数变化,我想根据AB对数据进行分并计算每个分箱C的平均值,最后热图将AB作为 X 轴和 Y 轴,颜色表示对应的C

我试图用Seaborn.heatmap,但该函数接受方的数据集,这意味着我应该数据第一。

有没有办法直接从 DataFrame 生成我想要的东西?如果没有,我如何将 DataFrame 放入二维网格中?

我知道pandas.cut可以做到这一点,但它似乎只能根据一列进行一次切割。当然,我可以编写乏味的函数来管道“两次切割”,但我想知道是否有一些简单的方法来完成这项任务。

散点图可以给出类似的结果,但我想要热图,类似于this,而不是this

python matplotlib pandas seaborn

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

Uni.combine().all().unis() 与 Multi..onItem().transformToMultiAndConcatenate().collect()

在我的 Quarkus 服务中,我需要从外部服务获取结果列表,我发现有两种方法可以实现相同的目标:

第一种方法基于Uni.combine().all()

List<Uni<Result>> results = new ArrayList();
for (Parameter p : parameters) {
  // callService returns Uni<Result>
  results.add(callService(p));
}
// collect all the results
Uni<List<Result>> combined = Uni.combine().all().unis(results)...
Run Code Online (Sandbox Code Playgroud)

第二种方法基于Multi..onItem().transformToMultiAndConcatenate().collect()

Multi.createFrom().iterable(parameters)
.onItem()
.transformToMultiAndConcatenate(p -> callService(p))
.collect().asList()
Run Code Online (Sandbox Code Playgroud)

一开始,我认为这两种方法之间不存在任何真正的区别,因为它们Uni是惰性评估的,或者Uni.combineMulti.collect我来说就像语法糖。但我还是想问一下,有什么区别吗?尤其是性能方面的差异。

使用第一种方法,我正在调试一个错误,当 的大小parameters超过 25 时,它开始给出错误,但在 25 以下则很好。因此,我怀疑第一种方法会产生非常高的 QPS,从而淹没外部服务。但是,我怀疑第二种方法是否有助于限制。

java reactive-programming microservices quarkus mutiny

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

Postgres autovacuum进程是否阻塞读写表

我们有一项工作需要通过 REST API 插入数百万条记录。我们发现,一旦插入几百万条记录后,服务就会挂起并停止响应。

我怀疑问题出在 Postgres DB 上,所以我抓取了日志(来自 AWS RDS)并发现了以下相关行:

2022-09-08 19:17:58 UTC::@:[26730]:LOG:  automatic vacuum of table "xxx.xxx.edges": index scans: 1
    pages: 0 removed, 2659041 remain, 0 skipped due to pins, 321741 skipped frozen
    tuples: 4680884 removed, 48758705 remain, 657299 are dead but not yet removable, oldest xmin: 458583508
    index scan needed: 268594 pages from table (10.10% of total) had 4843221 dead item identifiers removed
    index "edges_pkey": pages: 398515 in total, 0 newly deleted, 0 currently deleted, 0 reusable
    index …
Run Code Online (Sandbox Code Playgroud)

postgresql rdbms amazon-rds autovacuum

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

OpenMP中的本地指针

局部变量应该对每个线程自动私有.如何将本地指针指向并行区域外的某个地址,例如

A * a = new A[10];
int i, j;

for (i = 0; i < 10; i++){
    A * local_i = &a[i];
    // do sth ...
    #pragma omp parallel for
    for (j = 0; j < 10; j++){
        A * local_j = &a[j];
        local_j->x = 1.0f;
        // ...
    }
}
delete[]a;
Run Code Online (Sandbox Code Playgroud)

我应该local_a私人和afisrtprivate吗?我实际上是OpenMP和C的新手.

c c++ openmp

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

使用 scikit-learn 训练模型的更快方法

我已经使用 scikit-learn 训练了一个预测模型,并用于pickle将其保存到硬盘驱动器。该pickle文件是58M,这是相当大的。

为了使用模型,我写了这样的东西:

def loadModel(pkl_fn):
    with open(pkl_fn, 'r') as f:
         return pickle.load(f)


if __name__ == "__main__":
    import sys
    feature_vals = read_features(sys.argv[1])
    model = loadModel("./model.pkl")
    # predict 
    # model.predict(feature_vals)
Run Code Online (Sandbox Code Playgroud)

我想知道在命令行中多次运行程序时的效率。

Pickle 文件应该可以快速加载,但有什么办法可以加快速度吗?我可以将整个内容编译成二进制可执行文件吗?

python machine-learning pickle scikit-learn

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