小编Eve*_*iar的帖子

将x和y标签添加到pandas图中

假设我有以下代码使用pandas绘制非常简单的东西:

import pandas as pd
values = [[1, 2], [2, 5]]
df2 = pd.DataFrame(values, columns=['Type A', 'Type B'], 
                   index=['Index 1', 'Index 2'])
df2.plot(lw=2, colormap='jet', marker='.', markersize=10, 
         title='Video streaming dropout by category')
Run Code Online (Sandbox Code Playgroud)

产量

如何在保留使用特定色彩映射的能力的同时轻松设置x和y标签?我注意到plot()pandas DataFrames 的包装器没有采用任何特定的参数.

python matplotlib dataframe pandas

153
推荐指数
7
解决办法
22万
查看次数

Apache Spark - 将UDF的结果分配给多个数据帧列

我正在使用pyspark,使用spark-csv将大型csv文件加载到数据框中,作为预处理步骤,我需要对其中一列(包含json字符串)中可用的数据应用各种操作.这将返回X值,每个值都需要存储在各自独立的列中.

该功能将在UDF中实现.但是,我不确定如何从该UDF返回值列表并将这些值提供给单个列.下面是一个简单的例子:

(...)
from pyspark.sql.functions import udf
def udf_test(n):
    return [n/2, n%2]

test_udf=udf(udf_test)


df.select('amount','trans_date').withColumn("test", test_udf("amount")).show(4)
Run Code Online (Sandbox Code Playgroud)

这产生以下结果:

+------+----------+--------------------+
|amount|trans_date|                test|
+------+----------+--------------------+
|  28.0|2016-02-07|         [14.0, 0.0]|
| 31.01|2016-02-07|[15.5050001144409...|
| 13.41|2016-02-04|[6.70499992370605...|
| 307.7|2015-02-17|[153.850006103515...|
| 22.09|2016-02-05|[11.0450000762939...|
+------+----------+--------------------+
only showing top 5 rows
Run Code Online (Sandbox Code Playgroud)

将udf在不同的列上返回的两个值(在此示例中)存储的最佳方法是什么?现在他们被键入字符串:

df.select('amount','trans_date').withColumn("test", test_udf("amount")).printSchema()

root
 |-- amount: float (nullable = true)
 |-- trans_date: string (nullable = true)
 |-- test: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)

python user-defined-functions apache-spark apache-spark-sql pyspark

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

给定一个点矢量(可能是乱序),找到多边形(不是凸包)

我目前有一个点矢量

vector<Point> corners;
Run Code Online (Sandbox Code Playgroud)

我以前存储过给定多边形的角点.鉴于此,我确信这些点形成了一个不包含任何自相交边的简单多边形.但是,在存储这些顶点的过程中,不保留它们彼此连接的顺序.

我现在有一个函数,给定一个点矢量,连接它们并绘制一个封闭的数字.但是,我需要按照需要连接的顺序给这个函数一系列点.任何人都可以提出一种方法,我可以按正确的顺序对这些点进行排序吗?它们形成一个非常简单的凹多边形,而不是凸包.在所有(7)点中找到中心点的算法也会有帮助:)

c++ algorithm geometry computational-geometry

8
推荐指数
3
解决办法
5463
查看次数

压缩opencv(imwrite)上的图像.如何明确设置压缩因子?

我想知道是否有一种方法可以在opencv上压缩图像时轻松指定压缩因子,而无需声明虚拟矢量.如果我声明一个向量p(类似于这个讨论),但只包含2个项目,这是imwrite所采用的,我可以进行调用:

vector<int> p;
p[0] = CV_IMWRITE_JPEG_QUALITY;
p[1] = 50; // compression factor

imwrite("compressed.jpg", img, p);
Run Code Online (Sandbox Code Playgroud)

以上工作正常.但是,我想在循环中使用多个压缩因子压缩相同的图像.有没有办法将参数显式传递给imwrite?就像是:

imwrite("compressed.jpg", img, {CV_IMWRITE_JPEG_QUALITY, factor}); // this doesn't work
Run Code Online (Sandbox Code Playgroud)

正如旁注,函数头是:

bool imwrite(const string& filename, const Mat& img, const vector<int>& params=vector<int>());
Run Code Online (Sandbox Code Playgroud)

谢谢!

更新: 激活C++ 0x后,我可以将内联显式定义的向量传递给函数.

c++ graphics opencv image vector

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

在matplotlib中使用RGB颜色的单元格显示类似矩阵的图像

我有一个3(或更多)颜色序列存储为RGB值(或相应的十六进制),我想显示如下:

在此输入图像描述

遵循并修改这里的建议我能够有点接近,虽然我不太清楚我是否理解颜色如何作为单个浮点表示.无论如何我可以将RGB /十六进制表示转换为matshow()使用的任何内容吗?或者,是否有更优雅的方式产生上述输出?谢谢!

python matplotlib

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

Windows 8(Anaconda)上的rpy2安装错误

我在Windows 8上安装了最新的Anaconda Python发行版,我正在尝试安装rpy2软件包.我最初遇到了几个我能够规避的问题,但我现在仍然坚持我正在下面粘贴的一个特定错误.

命令

pip install rpy2
Run Code Online (Sandbox Code Playgroud)

退出并显示以下错误消息:

In file included from .\rpy\rinterface\_rinterface.c:58:0:

.\rpy\rinterface\_rinterface.h:8:15: fatal error: R.h: No such file or
directory

compilation terminated.

error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

有什么建议?Rh的路径包含在我的环境中.

python rpy2 anaconda

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

push_back()在2d向量中,什么是正确的语法?

我违反了变量类型如下:

typedef unsigned int color[3];
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个这种类型的向量:

vector<color> RGB;
Run Code Online (Sandbox Code Playgroud)

现在,假设我想将一个新元素推回到这个向量中.什么是正确的语法?我的g ++不会让我这样做:

color temp = {255, 255, 255};
RGB.push_back(temp);
Run Code Online (Sandbox Code Playgroud)

我认为这将是一个很好的语法:(任何建议非常感谢

c++ stl vector

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

使用pandas覆盖多个直方图

我有两个或三个具有相同标题的csv文件,并希望在同一个图上绘制彼此重叠的每列的直方图.

下面的代码给出了两个单独的图,每个图包含每个文件的所有直方图.有没有一种紧凑的方法可以使用pandas/matplot lib在同一个图上绘制它们?我想象一下接近这个但是使用数据帧.

码:

import pandas as pd
import matplotlib.pyplot as plt

df =  pd.read_csv('input1.csv')
df2 = pd.read_csv('input2.csv')
df.hist(bins=20)
df2.hist(bins=20)

plt.show()
Run Code Online (Sandbox Code Playgroud)

python statistics matplotlib pandas

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

正则表达式+ Python - 删除所有以*开头的行

我想删除给定文件中以*开头的所有行.例如,以下内容:

* This needs to be gone
But this line should stay
*remove 
* this too
End
Run Code Online (Sandbox Code Playgroud)

应该生成这个:

But this line should stay
End
Run Code Online (Sandbox Code Playgroud)

我最终需要做的是以下内容:

  1. 删除括号和括号内的所有文本(包括括号/括号),
  2. 如上所述,删除以''开头的行.

到目前为止,我能够通过以下方式解决#1问题:re.sub(r'[.?]|(.*?)', '', fileString).我为#2尝试了几件事,但总是最终删除我不想要的东西


解决方案1(没有正则表达式)

>>> f = open('path/to/file.txt', 'r')
>>> [n for n in f.readlines() if not n.startswith('*')]
Run Code Online (Sandbox Code Playgroud)

解决方案2(正则表达式)

>>> s = re.sub(r'(?m)^\*.*\n?', '', s)
Run Code Online (Sandbox Code Playgroud)

谢谢大家的帮助.

python regex

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