小编cbr*_*rnr的帖子

在VS Code中使用IPython REPL

使用Visual Studio Code的Python扩展,我可以选择一些代码,右键单击它,然后选择"在Python终端中运行选择/行"(或者,我可以按Shift + Enter).但是,这会将所选代码发送到终端窗格中的普通旧Python REPL,而我希望此代码在IPython中运行(而不是QtConsole,只是基于终端的IPython).

是否可以将IPython设置为默认REPL?我尝试将其设置/usr/local/bin/ipython3为我的默认Python环境,但这不起作用(它仍然执行普通的Python解释器).FWIW,我在macOS上.

python ipython visual-studio-code

13
推荐指数
4
解决办法
6584
查看次数

忽略 readr::read_csv 中的尾随分隔符

当我使用 读取包含尾随分隔符的 CSV 文件时readr::read_csv,我收到一条警告,指出已填充缺少的列名。以下是重现此警告的简短示例 CSV 文件的内容(将以下代码段存储在名为 的文件中example.csv):

A,B,C,
2,1,1,
14,22,5,
9,-4,8,
17,9,-3,
Run Code Online (Sandbox Code Playgroud)

请注意每行末尾的尾随逗号。现在如果我加载这个文件

read_csv("example.csv")
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

Missing column names filled in: 'X4'
Run Code Online (Sandbox Code Playgroud)

即使我只想显式加载 3 列

read_csv("example.csv", col_types=cols_only(A=col_integer(),
                                            B=col_integer(),
                                            C=col_integer()))
Run Code Online (Sandbox Code Playgroud)

我仍然收到警告消息。

这是预期的行为还是有什么方法可以告诉 read_csv它应该忽略除我指定的列之外的所有列?或者是否有另一种方法来整理这个(显然格式错误的)CSV,以便删除/忽略尾随分隔符?

csv r readr tidyverse

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

PyCharm 如何创建与 macOS 上的 Matplotlib 一起使用的 virtualenv?

我在 macOS 10.14.3 上使用通过 Homebrew 安装的 Python 3,并且安装virtualenvpip

$ brew install python
$ pip3 install virtualenv
Run Code Online (Sandbox Code Playgroud)

现在以下问题已被详细记录并且已知不起作用

$ virtualenv venv
$ source venv/bin/activate
$ pip install matplotlib ipython
$ ipython
In [1]: %matplotlib

ImportError: Python is not installed as a framework. The Mac OS X backend will
not be able to function correctly if Python is not installed as a framework.
See the Python documentation for more information on installing Python as …
Run Code Online (Sandbox Code Playgroud)

python matplotlib virtualenv pycharm

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

将2D数组中的每列与另一个2D数组中的每列相乘

我有两个Numpy数组x,其形状(m, i)y形状(m, j)(所以行数是相同的).我想将每列的x每一列与y元素相乘,以便结果具有形状(m, i*j).

例:

import numpy as np

np.random.seed(1)
x = np.random.randint(0, 2, (10, 3))
y = np.random.randint(0, 2, (10, 2))
Run Code Online (Sandbox Code Playgroud)

这将创建以下两个数组x:

array([[1, 1, 0],
       [0, 1, 1],
       [1, 1, 1],
       [0, 0, 1],
       [0, 1, 1],
       [0, 0, 1],
       [0, 0, 0],
       [1, 0, 0],
       [1, 0, 0],
       [0, 1, 0]])
Run Code Online (Sandbox Code Playgroud)

并且y:

array([[0, 0],
       [1, 1],
       [1, 1],
       [1, 0], …
Run Code Online (Sandbox Code Playgroud)

python numpy vectorization

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

使用 ggplot2 显示点和水平线(段)的均值

我想绘制三组数据。具体来说,我想显示单个数据点,包括三组的平均值。这是我到目前为止所拥有的:

library(ggplot2)

df <- data.frame(group=rep(c("A", "B", "C"), each=10), value=rnorm(30))

ggplot(data=df, mapping=aes(x=group, y=value)) +
    geom_point() +
    stat_summary(fun="mean", geom="point", color="red", size=5) +
    stat_summary(fun="mean", geom="segment", mapping=aes(xend=..x.. + 0.25, yend=..y..))
Run Code Online (Sandbox Code Playgroud)

这会产生下图:

这就是我所拥有的

但是,我希望水平线段从每组平均值的左侧开始,而不是从中心开始。我尝试指定mapping=aes(x=..x.. - 0.25, xend=..x.. + 0.25, yend=..y..),但这只会给我一个错误:

Error: stat_summary requires the following missing aesthetics: x
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我不能..x..用来指定x美学,而它适用于xend一个。

知道如何使水平线段围绕组中心对称吗?

r ggplot2

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

在 PyQt5 中使用 HiDPI 显示上的 SVG 图标

我想在我的 PyQt5 应用程序中使用高分辨率图标。但是,以下代码片段在我的 HiDPI macOS 平台上生成非常低分辨率的渲染(可以在此处下载所需的图标):

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction
from PyQt5.QtGui import QIcon


app = QApplication(sys.argv)
main = QMainWindow()
icon = QIcon("waves-24px.svg")
action = QAction(icon, "Test")
toolbar = main.addToolBar("toolbar")
toolbar.addAction(action)
toolbar.show()
main.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

结果如下(请注意图标的低分辨率): 在此输入图像描述

我究竟做错了什么?

python svg pyqt pyqt5 hidpi

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