小编try*_*ink的帖子

使用 np.view() 更改 numpy 1.14 中的结构化数组

我有一个具有混合数据类型(即浮点数、整数和字符串)的 numpy 结构化数组。我想选择数组的一些列(所有列仅包含浮点数),然后按列获取行的总和,作为标准 numpy 数组。初始数组的形式类似于:

\n\n
some_data = np.array([(\'foo\', 3.5, 2.15), (\'bar\', 2.8, 5.3), (\'baz\', 1.2, 3.7)], \n                     dtype=[(\'col1\', \'<U20\'), (\'A\', \'<f8\'), (\'B\', \'<f8\')])\n
Run Code Online (Sandbox Code Playgroud)\n\n

对于这个例子,我想对 A 列和 B 列求和,得到np.array([7.5, 11.15])。使用 numpy \xe2\x89\xa41.13,我可以这样做:

\n\n
get_cols = [\'A\', \'B\']\ndesired_sum = np.sum(some_data[get_cols].view((\'<f8\', len(get_cols))), axis=0)\n
Run Code Online (Sandbox Code Playgroud)\n\n

随着 numpy 1.14 的发布,此方法现在失败并显示,这是numpy 1.14 对结构化数组的处理ValueError: Changing the dtype to a subarray type is only supported if the total itemsize is unchanged进行更改的结果。(用户 bbengfort对此答案中有关此更改的 FutureWarning 发表了评论。)

\n\n

鉴于结构化数组的这些变化,如何从结构化数组子集中获得所需的总和?

\n

python numpy python-3.x

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

多行图例文本,包括带ggplot的指数

随着ggplot,我想添加一个靠左对齐图例标题多行和指数在文本图例中的值的单位.我正在绘制类似于以下形式的数据:

leakage_rates_levels <- c(5.4, 0.25)
leakage_rates <- as.factor(rep(leakage_rates_levels, 3))  # L/s-m^2 at 75 Pa
data_groups_levels <- c('Set 1', 'Set 2', 'Set 3')
data_groups <- as.factor(rep(data_groups_levels, each=2))
moisture_level <- c(7, 3, 11, 10, 16, 6)
plotdt <- data.frame(data_groups, leakage_rates, moisture_level)
Run Code Online (Sandbox Code Playgroud)

我用来expression()向图例中的单位添加指数.以下代码生成所需的图形,但图例标题文本格式错误.

ggplot(plotdt, aes(data_groups)) +
  geom_bar(aes(weight=moisture_level, fill=leakage_rates), position='dodge') +
  labs(y='Moisture Level') +
  labs(fill=expression(paste('Leakage Rate\nat 75 Pa\n(L/s-', m^2, ')', sep=''))) +
  theme(panel.grid.major.x = element_blank(),
        axis.title.x = element_blank())
Run Code Online (Sandbox Code Playgroud)

除了最后一行之外,图例标题显示为左对齐,最后一行在其中间有一堆无关的空格.

三行图例文本,其中第三行表示单位,升每秒米的平方,但米的平方项被推到右边距,而所有其他文本左对齐,在第三行的中间留下一个大的空白区域.

使用legend_title_align=0(建议在这里)和/或legend_title=element_text(hjust=1)theme()没有任何效果.试图添加phantom()间距也没有用(这里建议). …

r ggplot2

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

在python中获取没有完整路径的当前目录

如果这是一个已经解决的问题,我道歉.我想在运行Python脚本时或在Python中获取当前目录.以下将返回包括当前目录的完整路径:

os.getcwd()
Run Code Online (Sandbox Code Playgroud)

我也可以一直到当前目录的路径:

os.path.dirname(os.getcwd())
Run Code Online (Sandbox Code Playgroud)

使用os.path.split将返回与上面相同的内容,加上当前文件夹,但最后我得到了一个我想要的对象:

(thing_I_dont_want, thing_I_want) = os.path.split(os.getcwd())
Run Code Online (Sandbox Code Playgroud)

有没有办法可以得到我想要的东西,当前文件夹,而不创建任何我不想要的对象?或者,有什么我可以代替变量thing_I_dont_want来阻止它被创建(例如(*, thing_I_want))?

谢谢!

python os.path

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

标签 统计

python ×2

ggplot2 ×1

numpy ×1

os.path ×1

python-3.x ×1

r ×1