我试图迭代 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 的方式来做到这一点?感谢您的任何反馈。
我试图从Windows 7中的Node.js连接到Oracle数据库.这可能吗?我没有找到Node.js的插件,它将为Windows执行此操作.有没有为此推荐的工作?我猜测至少有一个人想要在Windows上使用Node.js并且需要连接到Oracle.如果有必要,我愿意接受简单的解决方法.谢谢您的帮助.
我在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) 我知道在 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)
我尝试了其他几种索引排列,但我只返回一个元素。我觉得有一个正确的方法可以做到这一点,但我只是想念
这个问题来自于正在努力从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) 我需要在字符串"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) 我希望能够对序列的多个字段求和.我不知道如何在不重复迭代序列的情况下执行此操作.我的看法是效率低下.有没有一种聪明的方法可以做到这一点,我没有看到?
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) 我这里有一个奇怪的。我想匹配泛型参数的类型。这是我到目前为止所拥有的:
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>函数采用通用参数,然后匹配函数中的类型以确定输出。现在我收到一个关于不正确缩进的编译器错误。我很确定缩进没问题,但是编译器根本不喜欢我正在做的事情。想法?我有一个蛮力解决方法,但这种方法会简单得多。
我有一个在本地运行的 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。看来这些是有冲突的。我必须禁用完整性检查才能使其正常工作。如何修复完整性检查?
错误图像:
我正在尝试实现两个数据集的最快连接,并在索引匹配时取值的乘积。我有一个标量方法,但我相信使用 SIMD 我可以加速这个算法。我有两个Span<int>必须匹配才能获取产品的密钥:aKeys和bKeys. 如果 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)