我有一个像这样的字符串列表,
['happy_feet', 'happy_hats_for_cats', 'sad_fox_or_mad_banana','sad_pandas_and_happy_cats_for_people']
Run Code Online (Sandbox Code Playgroud)
给定一个关键字列表,['for', 'or', 'and']
我希望能够将列表解析为另一个列表,如果关键字列表出现在字符串中,则将该字符串拆分为多个部分.
例如,上面的集合将被拆分为
['happy_feet', 'happy_hats', 'cats', 'sad_fox', 'mad_banana', 'sad_pandas', 'happy_cats', 'people']
Run Code Online (Sandbox Code Playgroud)
目前我已经通过下划线拆分每个内部字符串,并且有一个for循环查找关键字的索引,然后通过下划线重新组合字符串.有更快的方法吗?
我有两个表,如下所示
ID param1 param2 param3
0 A12 2 1 1
1 B15 1 2 1
2 B20 2 2 1
...
Run Code Online (Sandbox Code Playgroud)
和
parameter value weight
0 param1 1 10
1 param1 2 13
2 param2 1 21
3 param2 2 39
4 param3 1 49
5 param3 2 61
Run Code Online (Sandbox Code Playgroud)
采用第一个数据帧的最佳方法是什么,在第二个数据帧中查找每个参数的权重并返回如下的数据帧?
ID param1 param2 param3
0 A12 13 21 49
1 B15 10 39 49
2 B20 13 39 49
Run Code Online (Sandbox Code Playgroud)
我想的是编写一个函数给定参数,值,子集table2如下,
table2[(table2['parameter'] = parameter) & (table2['value'] = value)]
并对table1中的每一列做一些矢量化应用程序,但我不知道如何遍历每个值并进行查找.
我有一个节点和边的列表,但我希望有些边长为2而不是1.因此,当使用内置算法计算节点之间的距离时,它返回
例如,如果我有(1,2),(2*,3),(4*,5)作为节点之间的边,其中带星号的节点之间的距离长度为2,(1,2之间的距离) )应为1,(2,3)应为2而不是1,然后(1,5)之间的距离应为5而不是3.
添加节点我尝试G.add_edge(4,5,length=2)
但nx.shortest_path_length(G,source=4,target=5))
仍返回1而不是2.如何指定边长?
我有一个1000+默认词典的字典,我想迭代每个默认字典,在键上加总,然后除以计数得到每个键的平均值.
每个默认字典都有相同的键,即
{'A': 0.0, 'B': 1.0, 'C': 1.0, 'D': 1.0, 'E': 1.0}
{'A': 2.0, 'B': 1.2, 'C': 3.0, 'D': 1.0, 'E': 3.0}
Run Code Online (Sandbox Code Playgroud)
我希望以下内容成为我的输出
{'A': 1.0, 'B': 1.1, 'C': 2.0, 'D': 1.0, 'E': 2.0}
Run Code Online (Sandbox Code Playgroud)
如何迭代添加默认的dicts,然后将它们分开,在DataFrame中进行一行操作?或者有更好的方法来做这件事吗?
谢谢
如何迭代如下所示的数据帧并将非 NaN 值位置作为元组返回。IE
df:
0 1 2
0 NaN NaN 1
1 1 NaN NaN
2 NaN 2 NaN
Run Code Online (Sandbox Code Playgroud)
我会得到 [(0, 1), (2, 0), (1, 2)] 的输出。最好的方法是进行嵌套 for 循环吗?或者有没有我不知道的更简单的方法通过 Pandas。
我正在尝试使用以下行读取存储在网络驱动器上的1 MB XLSX文件
options(java.parameters="-Xmx4g")
library(rJava)
library(xlsx)
jgc <- function() {
gc()
.jcall("java/lang/System", method = "gc")
}
jgc()
folder <- 'network_drive/State_Stuff/'
state <- 'MI'
xlsx_in<- read.xlsx2(paste(folder, state,"_data.xlsx", sep = ""),
sheetName = "sheet1",
colClasses = c(rep("numeric",8), "character"))
Run Code Online (Sandbox Code Playgroud)
我得到以下错误。
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
我运行Windows7的64位RStudio和运行java -version
收益
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我尝试将文件从网络驱动器复制/粘贴到我的桌面上并读取该文件,但这会引发相同的错误。
但是,将文件移动到我的桌面上并使用另存为,然后将其另存为新文件,这样我就可以正常阅读了。
有人对这里发生的事情有想法吗?