小编jes*_*ssi的帖子

如何在使用 python pandas .to_csv 附加到 csv 时强制换行

附加到 csv 时,我的第一行从现有的最后一行而不是新行开始。

我一直在搜索 SO,但我只是找到了在追加模式下打开 csv 或在写入 csv 时使用追加模式的基本用法。我无法理解这里接受的答案(to_csv 追加模式不追加到下一个新行),因为它似乎要求在用f.write("/n"). 这个答案(How to add pandas data to an existing csv file?)是最相关的,但我希望在一个函数中写入多个数据框,所以我不想继续打开它们。我的计划是使用如下函数:

import os
def mysave(df,dfpath):
    # if file does not exist write header 
    if not os.path.isfile(dfpath):
        df.to_csv(dfpath, index = False)
    else: # else it exists so append without writing the header
        df.to_csv(dfpath, mode = 'a', index = False, header = False)

mysave(mydf, 'foo.csv')
Run Code Online (Sandbox Code Playgroud)

我创建了一个非常简单的示例,其中 foo.csv 的结构如下:

a   b   c   d           
5   1   ah  doo         
6 …
Run Code Online (Sandbox Code Playgroud)

python csv pandas

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

如何在 iOS 中分配提醒(EKReminder)?

[更新:我提交了官方 Apple 开发者反馈请求,要求更新 EventKit API 和文档]

[更新:我联系了苹果支持,他们说要阅读文档......所以我认为马特是正确的,它根本不可用。]

根据Apple 文档,EKReminder 是 EKCalendarItem 的子类。它具有以下(很多)属性:

提醒一句:

  • priority: Int - 提醒的优先级。
  • 开始日期组件:日期组件?- 任务的开始日期。
  • dueDateComponents:日期组件?- 提醒应完成的日期。
  • isCompleted: Bool - 确定提醒是否标记为已完成的布尔值。
  • 完成日期:日期?提醒完成的日期。

作为日历项目:

  • 标题: 字符串!- 日历项目的标题。
  • 位置:字符串?- 与日历项目关联的位置。
  • 创建日期:日期?- 创建此日历项目的日期。
  • 最后修改日期:日期?- 上次修改日历项目的日期。
  • 时区:时区?- 日历项目的时区。
  • 网址:网址?
  • hasNotes: Bool - 指示日历项目是否有注释的布尔值。
  • 注释: 字符串?- 与日历项目关联的注释。
  • hasAttendees: Bool - 指示日历项目是否有出席者的布尔值。
  • 与会者:[EKParticipant]?- 与日历项关联的与会者,作为 EKParticipant 对象的数组。

我可以从我的应用程序中的提醒中打印这些项目中的任何一项。

但是,如果我创建“分配给某人”的提醒,我将无法获取该信息。我知道它必须存储在某个地方。

如果您“打印”提醒,您会得到如下内容:

EKReminder <0x0000000> {title = Do the thing; dueDate = 2021-02-25 08:00:00 +0000; completionDate = (null); priority = 0; calendarItemIdentifier = XXXXX-XXXX-XXXX-XXXX-XXXXXX; …
Run Code Online (Sandbox Code Playgroud)

ios eventkit swift ekreminder

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

如何为R中的每一行数据帧生成markdown文档

我想从数据帧的每一行生成带有子文档的1个markdown文档,或者从数据帧生成nrows数量的markdown文档.降价文档是template.Rmd.

我认为它应该可以创建一个for循环,但是当我尝试这样做时,by(dataFrame, 1:nrow(dataFrame), function(row) knit(file = "/Users/path/template.Rmd"))我得到一个错误,输入意外结束.

Quitting from lines 23-26 (Preview-e0d353674d36.Rmd) 
Error in knit(file = "/Users/path/template.Rmd") : 
  unused argument (file = "/Users/path/template.Rmd")
Calls: <Anonymous> ... eval -> eval -> tapply -> lapply -> FUN -> FUN -> knit

Execution halted
Run Code Online (Sandbox Code Playgroud)

我尝试使用@Yihui解决的同样很棒的方法来编程引用带有knitr-expand的文本:R knitr:可以以编程方式修改块标签吗?

从该解决方案中,我们有两个.Rmd文件,我的报告和模板我的报告如下所示:

# My report

```{r}
data(mtcars)
cyl.levels <- unique(mtcars$cyl)
```

## Generate report for each level of cylinder variable
```{r, include=FALSE}
src <- lapply(cyl.levels, function(ncyl) knit_expand(file = "template.Rmd"))
```

`r knit(text = unlist(src))`
Run Code Online (Sandbox Code Playgroud)

模板看起来像: …

r knitr

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

在R中,找到每行包含一个字符串的列

我一定是在用错误的搜索词思考,因为我无法相信我的问题是独一无二的,但我只找到了一个相似的。

我有一些来自世界银行的相当笨重的数据,它们是代表数据库的平面文件。数据是每行一个项目,但每个项目都有多个特征,这些特征在名称如“SECTOR.1”的列中很方便,在其他列中具有自己的特征,名称如“SECTOR.1.PCT”等。

从中,我试图提取与特定类型的 SECTOR 相关的数据,但我仍然需要所有其他项目信息。

我已经能够朝着正确的方向迈出一些步骤,从我在 SO 上发现的另一个问题:在数据框中查找包含字符串作为值的列的索引

基于上述问题注释的最小可重现示例如下:

> df <- data.frame(col1 = c(letters[1:4],"c"), 
...                  col2 = 1:5, 
...                  col3 = c("a","c","l","c","l"), 
...                  col4= letters[3:7])
> df
  col1 col2 col3 col4
1    a    1    a    c
2    b    2    c    d
3    c    3    l    e
4    d    4    c    f
5    c    5    l    g
Run Code Online (Sandbox Code Playgroud)

我想要的输出类似于:

1 col4
2 col3
3 col1
4 col3
5 col1
Run Code Online (Sandbox Code Playgroud)

我知道我可以做一个 ifelse,但这似乎不是一个非常优雅的方法。当然,因为这是我只会做 1 次的事情(对于这个项目),打字错误的风险很小。例如,

> df$hasc <- ifelse(grepl("c",df$col1), "col1",
...                         ifelse(grepl("c",df$col2), …
Run Code Online (Sandbox Code Playgroud)

r grepl

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

对于数据框中的每一行,返回具有非零列名的变量

我正在尝试创建一个变量,其中包含每行不为零的所有列名称的列表。

数据示例:

set.seed(334)
DF <- matrix(sample(0:9,9),ncol=4,nrow=10)
DF <- as.data.frame.matrix(DF)
DF$id <- c("ty18","se78","first", "gh89", "sil12","seve","aga2", "second","anotherX", "CH560")
DF$count <- rowSums(DF[,2:5]>0)
DF
>      V1 V2 V3 V4       id count
>   1   9  4  0  5     ty18     3
>   2   4  0  5  8     se78     3
>   3   0  5  8  2    first     4
>   4   5  8  2  6     gh89     4
>   5   8  2  6  7    sil12     4
>   6   2  6  7  3     seve     4
>   7   6  7  3 …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×3

csv ×1

ekreminder ×1

eventkit ×1

grepl ×1

ios ×1

knitr ×1

pandas ×1

python ×1

swift ×1