我是Python的新手,我正在尝试编写一个将在python中合并两个字典对象的函数.例如
dict1 = {'a':[1], 'b':[2]}
dict2 = {'b':[3], 'c':[4]}
Run Code Online (Sandbox Code Playgroud)
我需要生成一个新的合并字典
dict3 = {'a':[1], 'b':[2,3], 'c':[4]}
Run Code Online (Sandbox Code Playgroud)
函数还应该使用参数"conflict"(设置为True或False).当冲突设置为False时,上面就可以了.当conflict设置为True时,代码将合并字典,如下所示:
dict3 = {'a':[1], 'b_1':[2], 'b_2':[3], 'c':[4]}
Run Code Online (Sandbox Code Playgroud)
我试图附加2个词典,但不知道如何以正确的方式做到这一点.
for key in dict1.keys():
if dict2.has_key(key):
dict2[key].append(dict1[key])
Run Code Online (Sandbox Code Playgroud) 我必须对项目的 .tsv 文件进行一些分析,而且我对 R 相当陌生。在 R 中读取/写入 .tsv 文件时遇到问题。似乎当有引号时就会出现问题( “”)在行中。
原始文件中的一些记录示例如下:
org_id org_name description created at
5762 Artifice Artifice \comes from Latin 4/3/2014 19:42
1045 Access Dar Microsoft "Nasdaq worldwide 7/4/2014 10:34
345 Living Asset Lincoln Park Zoo 11/3/2014 19:42
2356 Adler Planet Mission of black cat 12/2/2014 11:03
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码行读取该文件:
orgs <- read.delim("C:/Users/orgs.tsv", header=TRUE)
Run Code Online (Sandbox Code Playgroud)
重命名列后,我使用以下代码编写文件:
write.table(orgs, file = "C:/Users/orgs_updated.tsv", row.names=FALSE, sep="\t")
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试在另一个程序中读取此文件(orgs_updated.tsv)时,它不喜欢任何列中都有引号。我正在使用下面的代码再次读取该文件:
orgs_updated <- read.delim("C:/Users/orgs_updated.tsv", sep="", header=TRUE, quote="\"")
Run Code Online (Sandbox Code Playgroud)
文件是这样读取的,即读取错误,并添加错误的行。
org_id name description created at
5762 Artifice Artifice \comes from Latin …Run Code Online (Sandbox Code Playgroud) 我是R和dplyr包的新手.我试图将变量传递给dplyr group_by,我们可以改变/改变它.例如,在使用航班数据集时,我可以使用以下代码获取任何列(或多列)的行数:
library(nycflights13)
flights %>% group_by(origin) %>% tally()
flights %>% group_by(carrier) %>% tally()
flights %>% group_by(origin,carrier) %>% tally()
Run Code Online (Sandbox Code Playgroud)
但是如果我想传递所用列的名称,将group_by作为变量传递,则在使用多个列名时它不起作用.
group="carrier"
flights %>% group_by_(group) %>% tally()
group="origin"
flights %>% group_by_(group) %>% tally()
group=c("origin","carrier") #This does not work
flights %>% group_by_(group) %>% tally()
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助.谢谢.
我dopers在R中读一个csv文件" ".
dopers <- read.csv(file="generalDoping_alldata2.csv", head=TRUE,sep=",")
Run Code Online (Sandbox Code Playgroud)
读完文件后,我必须做一些数据清理.例如,country如果它在列中
"美国"或"美国"
我想用它替换它 "USA"
我想确保,如果单词是" United States "或者"United State ",即使他们我的代码应该工作.我想说的是,即使在"United States"替换之前和之后有任何字符"USA".我知道我们可以sub()为此目的使用功能.我在网上找到了这个,但我不明白是什么"^" "&" "*" ".".有人可以解释一下.
dopers$Country = sub("^UNITED STATES.*$", "USA", dopers$Country)
Run Code Online (Sandbox Code Playgroud) 我如何在 python 中编写一个函数,该函数将接受一个带有多个字典的字符串,每行一个,并将其转换,以便 json.loads 可以在单次执行中解析整个字符串。
例如,如果输入是(每行一个字典):
Input = """{"a":[1,2,3], "b":[4,5]}
{"z":[-1,-2], "x":-3}"""
Run Code Online (Sandbox Code Playgroud)
这不会用 json.loads(Input) 进行解析。我需要编写一个函数来修改它,以便它能够正确解析。我在想如果该函数可以将其更改为这样的内容,json将能够解析它,但我不确定如何实现它:
Input2 = """{ "Dict1" : {"a":[1,2,3], "b":[4,5]},
"Dict2" : {"z":[-1,-2], "x":-3} }"""
Run Code Online (Sandbox Code Playgroud)