我正在整理带有以下YAML设置的Rmarkdown PDF文档:
---
output:
pdf_document:
fig_caption: true
fig_crop: true
toc_depth: 3
header-includes:
- \usepackage{hyperref}
---
Run Code Online (Sandbox Code Playgroud)
在文档正文中,我使用以下语法插入了一些PNG图像
Paragraph 1..........

Paragraph 2....
Run Code Online (Sandbox Code Playgroud)
并且在渲染文档时,图像在文本中,在Paragraph 1和之间显示为预期的Paragraph 2.但是,我得到一些不可预知的结果,Paragraph 2在某些情况下渲染的图像出现后,我无法解决它.
我试图使用lapply(并希望lapply的解决方案)重命名列表中的data.frame的列,但它返回名称,而不是重命名的data.frames:
# define list
li <- list(u_n = data.frame(x = 1:3), r_l = data.frame(y = 4:6))
# trying to rename columns after the element of the list they're located in
li_2 <- lapply(1:length(li),
function(x,y) colnames(y[[x]]) <- names(y)[x], y = li)
Run Code Online (Sandbox Code Playgroud)
但是,这会返回:
[[1]]
[1] "u_n"
[[2]]
[1] "r_l"
Run Code Online (Sandbox Code Playgroud)
如果我使用与lapply单独指定的函数相同的方法,它确实有效:
li[1]
$u_n
x
1 1
2 2
3 3
colnames(li[[1]]) <- names(li)[1]
li[1]
$u_n
u_n
1 1
2 2
3 3
Run Code Online (Sandbox Code Playgroud) 我有一个数据框(df),我想添加一个额外的列result,使用dplyr将取值1 if z == "gone"和where x是组的最大值y.
y x z
1 a 3 gone
2 a 5 gone
3 a 8 gone
4 a 9 gone
5 a 10 gone
6 b 1
7 b 2
8 b 4
9 b 6
10 b 7
Run Code Online (Sandbox Code Playgroud)
如果我只是为每个组选择最大值,它将是:
df %>%
group_by(y) %>%
slice(which.max(x))
Run Code Online (Sandbox Code Playgroud)
将返回:
y x z
1 a 10 gone
2 b 7
Run Code Online (Sandbox Code Playgroud)
这不是我想要的.我需要利用x每个组的最大值,y同时检查是否z == "gone",如果TRUE1 则为0.否则为0.这样看起来像:
y …Run Code Online (Sandbox Code Playgroud) 这篇文章有点长,所以这里是最终的“问”:
有没有办法转换结果的 x 轴/索引groupby或将其他类型的参数传递给函数axvspan?
我有一个DataFrame带有日期时间列,我已将其分组为year和weekofyear。这工作正常,但 x 轴显示为元组。我想要axvspan,但我不知道该由谁来处理这些元组。
import numpy as np
import pandas as pd
import datetime
from matplotlib import pylab
import matplotlib.pyplot as plt
%matplotlib inline
query = ("https://data.cityofchicago.org/resource/6zsd-86xi.json?$where=year>2010")
raw_data = pd.read_json(query)
Run Code Online (Sandbox Code Playgroud)
以下是 的概述DataFrame。我将在专栏中工作date。
raw_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1706960 entries, 0 to 1706959
Data columns (total 22 columns):
arrest bool
beat int64
block object
case_number object
community_area float64
date datetime64[ns]
description object
district …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Clearbit.com的免费徽标API(https://logo.clearbit.com/:domain)来下载一些公司徽标.
要试用该工具,只需将https://logo.clearbit.com/nike.com粘贴到您的网络浏览器中即可.
目标是将来自GET请求的响应保存为PNG文件.这是我正在使用的代码的一个例子,它失败了.
library(RCurl)
url <- "https://logo.clearbit.com/basf.com"
png <- getURL(url, httpheader = "image/png", ssl.verifypeer = F)
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误消息:
Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) :
embedded nul in string:'‰PNG\r\n\032\n\0\0\0\rIHDR\0\0\0\0\0\0\b\006\0\0\0Ã>aË\0\0\0\004gAMA\0\0±\vüa\005\0\0\0 cHRM\0\0z&\0\0€„\0\0ú\0\0\0€è\0\0u0\0\0ê`\0\0:˜\0\0\027pœºQ<\0\0\0\006bKGD\0ÿ\0ÿ\0ÿ ½§“\0\0\0\atIME\aß\006\036\022\0228_nn\005\0\0\027$IDATxÚíyx[Õ÷?÷^IW»dË–÷5v\026'qœ•¤$!%$¡P(]\030Z†y™2CK\aZ\006ž–ç-Ó…¶Ó>}g\nü¥lçi¡e:L\031\030(…°¦¤$$„fOììÞâ}·,YÒ]æ\017+"ŠäÄÄv3ɽŸ<y\022stîÑ9ß{öó;Â뇟Ô11,â…N€É…Å\024€Á1\005`pL\001\030\034S\0\006Ç\024€Á1\005`pL\001\030\034S\0\006Ç2•‘9^<r\016ƒ£Œ*#IwQÈu•eüNgèxòÿ’hÁoÏG\024$B±>"ñá\v?—<S(\0êœË\bºËÙÛþ\026£§\025¬WΡ¶`mÆo½qd,œßžÇü‚µØ-®¤_W¨‘\003›Q´è…ΧK–I\vÀ#çà·ç‘ï©ÄïÈÏ\030ÆkÏ\005 y`?]¡¦4\177I´RW¸\036«dçP÷{Œ*#ÌÊ]NÐ]Žª)ìïÜt¡óé’eÒ\002(ò΢Ä_sÖ0.[\026\0ý‘\016ú#miþ9Î\022¬’þH;Í\003û\001\020\005‘ùùW’ç©à`×f4]M†\027\004‘ «\034€P¬‘Ø\00Ö„ä8K\023Ïj'¦FD+\005ž*|ö º®Ñ>|,-\r\016«—|Ï\f\\6?è:‘ø0¡ã„bý\0Ø-.|ö<¢Ê\b\021%D©\177. p¤g;N«—|O\025.›\017\035\030\036íáäÐዦ֚´\0:C'\bÇ\a\001(ñÏÅiõ¦…q'\004à°z¨+\\(XÆ\n»\177\037ª®$kˆS\031\0160\020é\004Æú\017n9›¡
Run Code Online (Sandbox Code Playgroud)
我搜索了文档,但我无法解决这个问题,所以请指教.
PS这是我关于stackoverflow的第一篇文章,所以请随意提出关于样式和一般准则的建议.
谢谢,瑞恩
我是新手,numba似乎无法确定要传递给的参数vectorize。这是我想做的事情:
test = [x for x in range(10)]
test2 = ['a', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'c', 'c']
test_df = pd.DataFrame({'test': test, 'test2': test2})
test_df['test3'] = np.where(test_df['test'].values % 2 == 0,
test_df['test'].values,
np.nan)
test test2 test3 test4
0 0 a 0.0 0.0
1 1 a NaN NaN
2 2 a 2.0 4.0
3 3 b NaN NaN
4 4 b 4.0 16.0
5 5 c NaN NaN
6 6 c 6.0 36.0
7 7 …Run Code Online (Sandbox Code Playgroud) 是否有类似于下面的R的好解决方案的Python解决方案?
# R
set.seed(1245)
array_truth <- sample(c(T, F), 10, replace = T)
array_int <- 1:10
# get the integers with False index
> array_int[!array_truth]
[1] 1 2 4
Run Code Online (Sandbox Code Playgroud)
在R中,您可以使用!否定,但我没有遇到过Python中的解决方案:
# python
string_data = pd.Series(['aardvark', 'artichoke', np.nan, 'avocado'])
null_values = string_data.isnull()
null_values
0 False
1 False
2 True
3 False
dtype: bool
Run Code Online (Sandbox Code Playgroud)
我所知道的最Pythonic解决方案是:
string_data[null_values != True]
0 aardvark
1 artichoke
3 avocado
dtype: object
Run Code Online (Sandbox Code Playgroud)
如果这是我能做的最好的,那很好,但我是Python的新手并没有在任何地方看到这个具体的问题.
嗨,我想删除列表中的空白子项:
l <- list(c(1:3), c(1,"",3))
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的
[[1]]
[1] 1 2 3
[[2]]
[1] 1 3
Run Code Online (Sandbox Code Playgroud)
我试过以下但没有成功:
l[lapply(l, function(x) x != "")]
Run Code Online (Sandbox Code Playgroud)
而我得到的错误:
Error in l[lapply(l, function(x) x != "")] :
invalid subscript type 'list'
Run Code Online (Sandbox Code Playgroud)
看似简单,但我还没有在SO上找到解决方案.