使用Visual Studio Code的Python扩展,我可以选择一些代码,右键单击它,然后选择"在Python终端中运行选择/行"(或者,我可以按Shift + Enter).但是,这会将所选代码发送到终端窗格中的普通旧Python REPL,而我希望此代码在IPython中运行(而不是QtConsole,只是基于终端的IPython).
是否可以将IPython设置为默认REPL?我尝试将其设置/usr/local/bin/ipython3为我的默认Python环境,但这不起作用(它仍然执行普通的Python解释器).FWIW,我在macOS上.
当我使用 读取包含尾随分隔符的 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,以便删除/忽略尾随分隔符?
我在 macOS 10.14.3 上使用通过 Homebrew 安装的 Python 3,并且安装virtualenv了pip:
$ 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) 我有两个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) 我想绘制三组数据。具体来说,我想显示单个数据点,包括三组的平均值。这是我到目前为止所拥有的:
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一个。
知道如何使水平线段围绕组中心对称吗?
我想在我的 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)
我究竟做错了什么?