小编Bla*_*Hat的帖子

R中的多个If语句

我一直试图弄清楚这一天,但无济于事.我有一个if语句,旨在满足四个可能的条件.

  1. 存在且B不存在
  2. B存在且A不存在
  3. A和B存在
  4. A和B不存在

A,B,C是数据帧.

这是我的代码:

if (!exists("A") & exists("B")) {
  C= B} 
else if (exists("A") & !exists("B")) {
  C= A}
else if (exists("A") & exists("B")) {
  C= rbind(B,A)} 
else {C <- NULL}
Run Code Online (Sandbox Code Playgroud)

我一直在意外的"}"和意外的"其他"上收到错误.我已经遵循了几个例子,但仍面临着这一挑战.任何指针都将非常感激.谢谢.

if-statement r

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

Python fbprophet - 每年从 plot_components() 导出值

关于如何使用fbprophet库导出年度季节性趋势的任何想法?该plot_components()函数绘制趋势、每年和每周。我只想获得每年的值。

time-series python-3.x facebook-prophet

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

将Google BigQuery数据导出到Python Pandas数据帧

我一直在研究如何将BigQuery数据导出到Pandas中.有两种方法:

  1. 将文件导出到CVS并加载它 - https://cloud.google.com/bigquery/exporting-data-from-bigquery

  2. 直接将数据拉入熊猫框架.这似乎不起作用,但这里是方法 - pandas.io.gbq.read_gbq(query,project_id = None,index_col = None,col_order = None,reauth = False).看来gbq已经停产?

有人可以建议最好和最有效的方法来解决这个问题吗?

谢谢.

python pandas google-bigquery

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

Python for循环计数器列表 - 计数器不工作

有人可以帮我解决我的代码问题.我有两个清单.

    A = [['2925750', ' Everything he mentioned, I could have evaluated on my own'], ['2925750', ' I do wish he could have shown us more at this point that could have set the fox apart.']]

B = ['mentioned','evaluated','fox','wish']
Run Code Online (Sandbox Code Playgroud)

目标是在列表A中附加B中任何项目出现在A的句子中的次数.

结果应该是这样的:

[(['2925750', ' Everything he mentioned, I could have evaluated on my own'], 0), (['2925750', ' I do wish he could have shown us more at this point that could have set the Equinox apart.'], 0)]
Run Code Online (Sandbox Code Playgroud)

问题是我的数量为零.

以下是我的代码.先感谢您:

Y = …
Run Code Online (Sandbox Code Playgroud)

python for-loop list

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

更快的For循环?

我有这段代码,我循环通过250,000项.以下是代码中的步骤:1.给定产品的子集数据2.将数据与月份数据帧合并(左).3.用该特定产品名称替换空产品名称4.将销售的NA值替换为0

以下是两个产品的示例数据集.数据:

data2 <- data.frame(product_no = c("A", "A", "A", "B","B","B"), 
                           sales = c(200, 130, 221, 310,109, 98), month = c(1, 4, 5, 8,1, 12), stringsAsFactors=FALSE)

month_unique <- as.data.frame(seq(1,12, by=1))
colnames(month_unique)[colnames(month_unique)=="seq(1, 12, by = 1)"] <- "month"
Run Code Online (Sandbox Code Playgroud)

码:

unique_product <- unique(data2$product_no)
data3 <- data.frame()

process_time <- Sys.time()
for (i in 1:length(unique_product)){
  step1 <- subset(data2, product_no==unique_product[i])
  step2 <- merge(month_unique,step1, by="month", all.x = TRUE)
  step2$product_no <- unique_product[i]
  step2[is.na(step2)] <- 0
  data3 <- rbind(data3, step2)
}
Sys.time() - process_time
Run Code Online (Sandbox Code Playgroud)

预期结果:

data3
Run Code Online (Sandbox Code Playgroud)

有更快的方法吗?

谢谢.

loops for-loop r

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