小编pyt*_*ist的帖子

根据列名重新排序pandas数据帧中的列

我有一个dataframe超过200列.问题在于订单生成了

['Q1.3','Q6.1','Q1.2','Q1.1',......]
Run Code Online (Sandbox Code Playgroud)

我需要按如下方式重新排序列:

['Q1.1','Q1.2','Q1.3',.....'Q6.1',......]
Run Code Online (Sandbox Code Playgroud)

我有办法在Python中做到这一点吗?

python dataframe pandas

257
推荐指数
7
解决办法
21万
查看次数

我可以通过编程方式将matplotlib图形插入Excel吗?

我将matplotlib文件保存为.tiff图像.我希望能够打开一个excel文件并将图像粘贴到那里.

openpyxl似乎不支持图像嵌入.xlwt确实只有bmp.

或者,如果我可以通过编程方式将tiff转换为bmp,这也可能有所帮助.

我们欢迎任何一个想法.

相近

以编程方式将多个jpeg图像嵌入EXCEL?

但是,从tiff到bmp的转换是可以接受的,因为我的图表量很小(每个文件大约10个).

python excel matplotlib

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

Python内部函数

在python中,我可以写:

def func():
    x = 1
    print x
    x+=1

    def _func():
        print x
    return _func

test = func()
test()
Run Code Online (Sandbox Code Playgroud)

当我运行它时,输出是:

1

2

由于_func可以访问func中定义的"x"变量.对...

但如果我这样做:

def func():
    x = 1
    print x

    def _func():
        x+=1
        print x
    return _func

test = func()
test()
Run Code Online (Sandbox Code Playgroud)

然后我收到一条错误消息:UnboundLocalError:在赋值之前引用的局部变量'x'

在这种情况下,似乎_func不能"看到""x"变量

问题是:为什么在第一个例子中打印x"看到""x"变量,而数学运算符x + = 1抛出异常?

我不明白为什么......

python

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

TypeError:init()缺少1个必需的位置参数:'message'使用Multiprocessing

我正在使用多处理池运行一段代码.代码在数据集上工作,在另一个上失败.显然问题是数据驱动 - 我说我不清楚从哪里开始故障排除,因为我收到的错误如下.任何关于起点的提示都将是最有帮助的.这两组数据都使用相同的代码编写 - 所以我不认为会有差异 - 但我在这里.

另请参阅Robert的评论 - 我们在os和python版本3.6(我有3.4,他有3.6)和完全不同的数据集上有所区别.然而,错误与python代码中的行完全相同.

我的怀疑:

  1. 每个核心都有一个内存限制正在执行.
  2. 在一段时间之后,该过程逐字地收集 - 发现过程没有结束并放弃.

    线程Thread-9中的异常:

    Traceback(最近一次调用最后一次):

    文件"C:\ Program Files\Python\WinPython-64bit-3.4.4.4Qt5\python-3.4.4.amd64\lib\threading.py",第911行,在_bootstrap_inner self.run()中

    文件"C:\ Program Files\Python\WinPython-64bit-3.4.4.4Qt5\python-3.4.4.amd64\lib\threading.py",第859行,运行self._target(*self._args,**self._kwargs)

    文件"C:\ Program Files\Python\WinPython-64bit-3.4.4.4Qt5\python-3.4.4.amd64\lib\multiprocessing\pool.py",第429行,在_handle_results task = get()中

    文件"C:\ Program Files\Python\WinPython-64bit-3.4.4.4Qt5\python-3.4.4.amd64\lib\multiprocessing\connection.py",第251行,在recv中返回ForkingPickler.loads(buf.getbuffer( ))

    TypeError:init()缺少1个必需的位置参数:'message'

python multithreading multiprocessing python-3.x python-3.4

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

PySpark:设置执行器/内核和内存本地机器

所以我看了一堆关于 Pyspark、Jupyter 和设置内存/内核/执行器(以及相关内存)的帖子。

但我似乎被卡住了——

问题 1:我没有看到我的机器使用内核或内存。为什么?我可以对执行器/内核/内存进行一些调整以优化读取文件的速度吗?问题 2:还有什么方法可以让我看到进度条显示导入了多少文件 ahs(spark-monitor 似乎没有这样做)。

我正在将一个 33.5gb 的文件导入 pyspark。

机器有 112 GB 或 RAM 8 核/16 虚拟核。

from pyspark.sql import SparkSession
Run Code Online (Sandbox Code Playgroud)
spark = SparkSession \
    .builder \
    .appName("Summaries") \
    .config("spark.some.config.option", "some-value") \
    .getOrCreate()
conf = spark.sparkContext._conf.setAll([('spark.executor.memory', '4g'), 

('spark.app.name', 'Spark Updated Conf'), 
('spark.driver.cores', '4'), ('spark.executor.cores', '16'), 
('spark.driver.memory','90g')])
spark.sparkContext.stop()
spark = SparkSession.builder.config(conf=conf).getOrCreate()
df = spark.read.json("../Data/inasnelylargefile.json.gz")

Run Code Online (Sandbox Code Playgroud)

我认为 pyspark 即使在读取文件时也在发挥它的魔力(所以我应该看到大量的核心/内存利用率)。但我没有看到它。救命!

更新:使用较小的 zip 文件 (89 MB) 进行测试

Pyspark 需要 72 秒 Pandas 需要 10.6 秒 使用的代码:

start = time.time() …
Run Code Online (Sandbox Code Playgroud)

python json apache-spark-sql pyspark jupyter

9
推荐指数
2
解决办法
1572
查看次数

PyScripter - 运行相同python 2.7 64位的多个实例

PyScripter很容易成为我在交互式工作中遇到的最好的IDE - 特别是它能够连接到远程引擎.

它允许我打开pyscripter的多个实例,每个实例都绑定到不同的版本(我的机器上有3.3,2.7 64位和32位).

问题:我可以打开多个绑定到2.7 64位的pyscripter实例吗?由于我拥有大量的内存并且可以轻松地同时处理两到三个项目,因此非常有用.

转到命令提示符并请求PyScripter -N按照建议给我一个新实例

[https://groups.google.com/forum/?fromgroups=#!topic/pyscripter/0ebFUx6h7Z4][1]

,但它似乎默认为3.3 - 但确实打开3.3的多个实例.我不熟悉PyScripter如何选择要绑定的python版本.任何帮助非常感谢!

更新:删除3.3.似乎让我得到2.7的多个实例 - 但是想要一个允许我安装3.3的解决方案.

multiple-instances pyscripter

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

Cython:编译选项-O3

在使用distutils构建时,如何覆盖Cython的默认编译标志?

我的问题与此类似,但是响应涉及手动运行cython步骤 - 假设从0.12到01.9的进度 - 我是否可以简单地从-O切换到-O3?

用户还可以看到速度的显着差异,具体取决于此开关?

我在一台Windows机器上.

gcc cython compiler-optimization

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

相当于Java的Python pool.map/多处理

我想知道是否有人可以将我指向java中python的多处理模块的简单等效项。

我有一个简单的并行处理方案(没有2个进程交互):取一个数据集并将其分成12个,然后将Java方法应用于12个数据集,收集结果并将它们按相同的顺序加入到某种列表中。

作为“专业”语言的Java似乎具有多个库和方法-谁能帮助这个Java新手入门?

我想用最少的编码做到这一点-正如我说的那样,我的要求非常简单。

更新: 如何在Java中进行多处理,以及预期的速度提高?

这似乎表明线程是要走的路。我希望我别无选择,只能走进一堆锁(意想不到的双关语),等待我的船开航。不过,欢迎举一些简单的例子。

python java parallel-processing concurrency multiprocessing

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

在远程服务器上运行Spyder / Python

因此,这个问题有很多变体-但没有一个能完全解决这个问题。

我想运行spyder并在服务器上进行交互式分析。我有2台服务器,都没有spyder。他们都有python(Linux服务器),但是我没有sudo权限来安装所需的软件包。

简而言之,用例是:在本地计算机上打开spyder。做一些事情(需要帮助)以使用服务器的计算能力,然后将结果返回到本地计算机。

更新:

我已经在一台服务器上用我的软件包更新了pythonn。现在找出内核名称并链接到spyder。保留先前版本的问题,因为它仍然有用。

docker过程和paramiko一样有点吓人。我有什么选择?

python fabric spyder docker server

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

Seaborn Catplot:显示线图

catplot 函数有一个名为 kind 的选项。它允许我指定“条”、“点”等。我正在寻找线图。我使用 catplot 并排显示两个类别,使用相同的时间刻度,绘制两种不同产品的销售额。目标是并排展示这两种趋势。

python seaborn catplot

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

如何使用fread读取R中的gz文件?

我在Windows机器上尝试加快read.table步骤。我的文件都是.gz。

x=paste("gzip -c ",filename,sep="")
phi_raw = fread(x)

Error in fread(x) : 
Run Code Online (Sandbox Code Playgroud)

无法理解错误。对我来说有点神秘。

不像zx8754所建议的那样重复:专门在fread上下文中使用。尽管fread dows没有对gzip的本机支持,但是这种范例应该可以工作。参见http://www.molpopgen.org/coding/datatable.html

更新资料

根据下面的建议使用系统会产生更长的错误消息-尽管我仍然被卡住。

Error in fread(system(x)) : 

  'input' must be a single character string containing a file name, a command, full path to a file, a URL starting 'http[s]://', 'ftp[s]://' or 'file://', or the input data itself

In addition: Warning message:


running command 'gzip -c D:/x_.gz' had status 1
Run Code Online (Sandbox Code Playgroud)

更新资料

使用gunzip运行,如下所示:

Error in fread(system(x)) : 

  'input' must be a single character string containing a file name, …
Run Code Online (Sandbox Code Playgroud)

windows gzip r fread

3
推荐指数
2
解决办法
5313
查看次数

对 _gzopen 等的未定义引用

嗨,我有一个建立在非 Windows 机器上的 c 程序(我认为是 ubuntu 机器,但也可能是 mac os)。

我快速浏览了一下并尝试了 cygwin(安装了 cygwin,使用终端转到包含 c 程序的目录并调用 make。)

这产生:

$ make
g++ -lz -Wextra -O3 -o bin/lda src/lda_main.o src/data.o src/lda.o c/lda_init.o
   src/lda_io.o src/lda_sampler.o src/opts.o

src/data.o:data.cpp:(.text+0x5d): undefined reference to `_gzopen'
src/data.o:data.cpp:(.text+0x9e): undefined reference to `_gzgets'
src/data.o:data.cpp:(.text+0x138): undefined reference to `_gzgets'
src/data.o:data.cpp:(.text+0x1f0): undefined reference to `_gzgets'
src/data.o:data.cpp:(.text+0x257): undefined reference to `_gzclose'
src/data.o:data.cpp:(.text+0x3cb): undefined reference to `_gzopen'
src/data.o:data.cpp:(.text+0x498): undefined reference to `_gzgets'
src/data.o:data.cpp:(.text+0x4b4): undefined reference to `_gzclose'

/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: src/data.o:
   bad reloc address 0x1c in section `.eh_frame' …
Run Code Online (Sandbox Code Playgroud)

cygwin mingw g++ windows-7

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

Keras 模型中的采样 Softmax

我考虑过的一些方法:

从模型类继承 tensorflow keras 中的采样 softmax

从层类继承 如何在 Keras 模型中使用 TensorFlow 的采样 softmax 损失函数?

在这两种方法中,模型方法更简洁,因为层方法有点笨拙——它将目标作为输入的一部分推入,然后再见多输出模型。

我想在对 Model 类进行子类化方面得到一些帮助 - 具体来说:1) 与第一种方法不同 - 我想在指定标准 keras 模型时采用任意数量的层。例如,

class LanguageModel(tf.keras.Model):
    def __init__(self, **kwargs)
Run Code Online (Sandbox Code Playgroud)

2)我希望在模型类中合并以下代码 - 但想让模型类认识到

def call(self, y_true, input):
        """ reshaping of y_true and input to make them fit each other """
        input = tf.reshape(input, (-1,self.hidden_size))
        y_true = tf.reshape(y_true, (-1,1))
      weights = tf.Variable(tf.float64))
      biases = tf.Variable(tf.float64)
      loss = tf.nn.sampled_softmax_loss(
      weights=weights,
      biases=biases,
      labels=labels,
      inputs=inputs,
      ...,
      partition_strategy="div")
      logits = tf.matmul(inputs, tf.transpose(weights))
      logits = tf.nn.bias_add(logits, …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow sampled-softmax

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