小编Sha*_*ect的帖子

根据一组单词拆分字符串

我有一个像这样的字符串列表,

['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循环查找关键字的索引,然后通过下划线重新组合字符串.有更快的方法吗?

python regex string

7
推荐指数
3
解决办法
116
查看次数

使用一个数据帧中的列标题和值来查找另一个数据帧中的权重

我有两个表,如下所示

    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中的每一列做一些矢量化应用程序,但我不知道如何遍历每个值并进行查找.

python dataframe pandas

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

如何在Networkx中指定边长以计算最短距离?

我有一个节点和边的列表,但我希望有些边长为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.如何指定边长?

python networkx

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

在键上添加defaultdicts然后将它们分开

我有一个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中进行一行操作?或者有更好的方法来做这件事吗?

谢谢

python dictionary

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

如何获取 Pandas 数据框中所有非 NaN 项的行、列索引

如何迭代如下所示的数据帧并将非 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。

python nan indices pandas

2
推荐指数
2
解决办法
6044
查看次数

在R中读取XLSX文件时出错

我正在尝试使用以下行读取存储在网络驱动器上的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)

我尝试将文件从网络驱动器复制/粘贴到我的桌面上并读取该文件,但这会引发相同的错误。

但是,将文件移动到我的桌面上并使用另存为,然后将其另存为新文件,这样我就可以正常阅读了。

有人对这里发生的事情有想法吗?

java r

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

标签 统计

python ×5

pandas ×2

dataframe ×1

dictionary ×1

indices ×1

java ×1

nan ×1

networkx ×1

r ×1

regex ×1

string ×1