小编Mat*_*ews的帖子

Julia 迭代数据帧行

我试图迭代 Julia 中 DataFrame 的行,为数据框生成一个新列。我还没有遇到如何执行此操作的明确示例。在 R 中,此类事物是矢量化的,但根据我的理解,并非所有 Julia 的操作都是矢量化的,因此我需要循环遍历行。我知道我可以通过索引来做到这一点,但我相信一定有更好的方法。我希望能够按名称引用列值。这是我有的:

test_df = DataFrame( A = [1,2,3,4,5], B = [2,3,4,5,6])
test_df["C"] = [ test_df[i,"A"] * test_df[i,"B"] for i in 1:size(test_df,1)]
Run Code Online (Sandbox Code Playgroud)

这是 Julia/DataFrames 的方式吗?有没有一种更像 Julia 的方式来做到这一点?感谢您的任何反馈。

iteration loops dataframe julia

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

使用Node.js Windows连接到Oracle数据库

我试图从Windows 7中的Node.js连接到Oracle数据库.这可能吗?我没有找到Node.js的插件,它将为Windows执行此操作.有没有为此推荐的工作?我猜测至少有一个人想要在Windows上使用Node.js并且需要连接到Oracle.如果有必要,我愿意接受简单的解决方法.谢谢您的帮助.

windows oracle node.js

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

迭代R中的列表行

我在R工作,我想迭代列表的行,并按名称引用列值,如下所示:

for(row in Data) {
    name <- row$name
    age <- row$age
    #do something cool here
}
Run Code Online (Sandbox Code Playgroud)

我的数据如下所示:

name, age, gender, weight
Bill, 23, m, 134
Carl, 40, m, 178
Run Code Online (Sandbox Code Playgroud)

我知道这应该是微不足道的,但我无法找到帮助.提前谢谢.

所以这是我正在使用的原始数据.早期的表格就是一个例子:

structure(list(startingTemp = c(100L, 100L, 100L, 100L, 100L), 
    endingTemp = c(1L, 1L, 1L, 1L, 1L), movesPerStep = c(200000L, 
    100000L, 20000L, 10000L, 2000L), coolingCoefficient = c(0.99, 
    0.99, 0.99, 0.99, 0.99), numberTempSteps = c(459L, 459L, 
    459L, 459L, 459L), costPerRun = c(91800000L, 45900000L, 9180000L, 
    4590000L, 918000L)), .Names = c("startingTemp", "endingTemp", 
"movesPerStep", "coolingCoefficient", "numberTempSteps", …
Run Code Online (Sandbox Code Playgroud)

r

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

Julia 从元组中为数组中的每一行选择元素

我知道在 Julia 中必须有一种聪明的方法来做到这一点,但我被难住了。我有一个一维元组数组,我想从数组的每一行中提取第三个元素。这是我正在使用的示例:

julia> experArr 20-element Array{(Any,Any,Any),1}:
 (4000,0.97613,1.6e6) 
 (2000,0.97613,800000.0)
 (8000,0.97613,3.2e6) 
 (1000,0.97613,400000.0)
 ...
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是做这样的事情:

julia> experArr[:][3]
Run Code Online (Sandbox Code Playgroud)

但这会返回以下内容:

julia> experArr[:][3] 
(8000,0.97613,3.2e6)
Run Code Online (Sandbox Code Playgroud)

我想要它返回的是这样的:

20-element Array{Any,1}:
1.6e6
800000.0
3.2e6
400000.0
...
Run Code Online (Sandbox Code Playgroud)

我尝试了其他几种索引排列,但我只返回一个元素。我觉得有一个正确的方法可以做到这一点,但我只是想念

arrays indexing tuples julia

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

混合类型的F#集合类型

这个问题来自于正在努力从R转换到F#的人.我完全承认我的方法可能是错的,所以我正在寻找F#这样做的方法.我有一种情况,我想迭代一组XML文件,解析它们,并提取几个值,以确定哪些需要进一步处理.我的自然倾向是映射XML数据数组,exampleData在这种情况下,使用RawDataProvider类型提供程序解析每个数据,最后为包含解析的XML,XML中的Status值和ItemId值的每个文件创建一个Map对象.

事实证明,F#中的Map类型与R中的List不同.R中的列表本质上是可以支持混合类型的哈希映射.看来F#中的Map类型不支持存储混合类型.我发现这在我的R工作中非常有用,我正在寻找合适的F#系列.

或者,我是否认为这一切都错了?这是我在R中处理数据的一种非常自然的方式,所以我希望有一种方法可以在F#中进行处理.假设我将进行进一步分析并向这些集合添加其他数据元素.

更新: 这似乎是一个简单的用例,必须有一种惯用的方式在F#中执行此操作,而无需为每个分析步骤定义记录类型.我已经更新了我的例子,以进一步说明我想要做的事情.我想返回我分析的Map对象数组:

type RawDataProvider = XmlProvider<"""<product Status="Good" ItemId="123" />""">        

let exampleData = [| """<product Status="Good" ItemId="123" />"""; """<product Status="Bad" ItemId="456" />"""; """<product Status="Good" ItemId="789" />"""|]

let dataResult =
            exampleData
            |> Array.map(fun fileData -> RawDataProvider.Parse(fileData))
            |> Array.map(fun xml -> Map.empty.Add("xml", xml).Add("Status", xml.Status).Add("ItemId", xml.ItemId))
            |> Array.map(fun elem -> elem.["calc1Value"] = calc1 elem["itemId"])
            |> Array.map(fun elem -> elem.["calc2"] = calc2 elem.["ItemId"] elem.["calc1Value"])
Run Code Online (Sandbox Code Playgroud)

f# dictionary f#-data

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

特定字符串后提取数字

我需要在字符串"Count of"之后找到数字."Count of"字符串和数字之间可能有空格或符号.我有一些适用于www.regex101.com的东西,但不适用于stringr str_extract功能.

library(stringr)

shopping_list <- c("apples x4", "bag of flour", "bag of sugar", "milk x2", "monkey coconut 3oz count of 5", "monkey coconut count of 50", "chicken Count Of-10")
str_extract(shopping_list, "count of ([\\d]+)")
[1] NA NA NA NA "count of 5" "count of 50" NA
Run Code Online (Sandbox Code Playgroud)

我想得到什么:

[1] NA NA NA NA "5" "50" "10"
Run Code Online (Sandbox Code Playgroud)

regex r stringr

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

F#在Seq <'T>中求和多个字段

我希望能够对序列的多个字段求和.我不知道如何在不重复迭代序列的情况下执行此操作.我的看法是效率低下.有没有一种聪明的方法可以做到这一点,我没有看到?

type item = {
    Name : string
    DemandQty : decimal
    Weight : decimal
    UnitCost : decimal
}

let items =
    {1..10}
    |> Seq.map (fun x -> 
        {
            Name = string x
            DemandQty = decimal x
            Weight = decimal x
            UnitCost = decimal x
        })

// This Works for a single value
let costSum =
    items
    |> Seq.sumBy (fun x -> x.DemandQty * x.UnitCost)

// This is similar to what I would like to do
let costSum, weightSum =
    items …
Run Code Online (Sandbox Code Playgroud)

f# seq

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

通用参数上的 F# 模式匹配

我这里有一个奇怪的。我想匹配泛型参数的类型。这是我到目前为止所拥有的:

open System.Reflection

type Chicken = {
    Size : decimal
    Name : string
}

let silly<'T> x =
    match type<'T> with
    | typeof<Chicken> -> printfn "%A" x
    | _ -> printfn "Didn't match type"
    enter code here
Run Code Online (Sandbox Code Playgroud)

我希望silly<'T>函数采用通用参数,然后匹配函数中的类型以确定输出。现在我收到一个关于不正确缩进的编译器错误。我很确定缩进没问题,但是编译器根本不喜欢我正在做的事情。想法?我有一个蛮力解决方法,但这种方法会简单得多。

generics f# pattern-matching

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

Hugo 主题未加载

我有一个在本地运行的 Hugo 网站,但是当我将其部署到 GitHub 网站时,主题无法加载。网站位于:matthewcrews.com。托管该站点的存储库位于https://github.com/matthewcrews/matthewcrews.github.io。该网站的内容在 进行管理https://github.com/matthewcrews/blog。此设置按照 Hugo 网站上的说明进行,用于设置将在 GitHub 上托管的页面。其config.toml情况如下:

baseURL = "https://matthewcrews.com"
languageCode = "en-us"
title = "My New Hugo Site"
theme = "hugo-PaperMod"
Run Code Online (Sandbox Code Playgroud)

当我在本地运行该网站时,我得到了我所期望的结果:

在此输入图像描述

当我建立公会并将其上传到 时https://github.com/matthewcrews/matthewcrews.github.io,我得到以下信息:

在此输入图像描述

我找不到明显的错误。为什么主题未加载?

编辑 2020-1128 19:07(太平洋标准时间)

我收到以下错误,但我不知道这意味着什么。

错误文本:

Failed to find a valid digest in the 'integrity' attribute for resource 'https://matthewcrews.com/assets/css/stylesheet.min.8cbe03cd36d575ee2d4398db2c2b89694db1f7cf71d909908b0cf8aeca1ad007.css' with computed SHA-256 integrity 'NKDquP9+VB7hHwt5XWjGzS7hEaS/jjp7y5hsSpIBuNI='. The resource has been blocked.
Run Code Online (Sandbox Code Playgroud)

该问题似乎与行结尾和生成的 SHA-256 哈希有关。哈希值可能是在行结尾为 LF 的机器上生成的。我正在 Windows 上进行开发,其中文件的行结尾为 CRLF。看来这些是有冲突的。我必须禁用完整性检查才能使其正常工作。如何修复完整性检查?

错误图像:

在此输入图像描述

github github-pages hugo

5
推荐指数
0
解决办法
1363
查看次数

SIMD 指令,用于加速搜索两个已排序的 int 数组之间的匹配值,用于 Hadamard 乘积

我正在尝试实现两个数据集的最快连接,并在索引匹配时取值的乘积。我有一个标量方法,但我相信使用 SIMD 我可以加速这个算法。我有两个Span<int>必须匹配才能获取产品的密钥:aKeysbKeys. 如果 inaKeys中的值与 中的值相匹配,则应将 和 中bKeys的相应值相乘并存储。aValuesbValues

我期待使用SIMD指令能够从比较单一的钥匙aKeys在许多价值观bKeys。诀窍是,一旦 的值bKeys大于aKey我正在测试的值,我就需要移动到下一个aKey值。这是对这个问题的跟进。可以在此 repo 中找到带有基准代码的完整示例。

该算法IndexOf<T>SpanHelpers是接近,但它仅用于查找单个值。我试图利用这样一个事实,即我有几个要查找的值,所有值都是唯一的并且按升序排列。

// NOTE: The length of aKeys and aValues is the same.
// The length of bKeys and bValues is the same.
// The values in `aKeys` and `bKeys` are unique and sorted but not every value
// …
Run Code Online (Sandbox Code Playgroud)

algorithm f# intersection simd avx

5
推荐指数
0
解决办法
159
查看次数