小编Jul*_*a O的帖子

将字典数组一次性放入 Julia 中的 DataFrame

我有一系列字典如下:

julia> data  
2-element Array{Any,1}:  
 Dict{String,Any}("ratio1"=>1.36233,"time"=>"2014-06-19T15:47:40.000000Z","ratio2"=>1.36243)
 Dict{String,Any}("ratio1"=>1.3623,"time"=>"2014-06-19T15:48:00.000000Z","ratio2"=>1.36245)
Run Code Online (Sandbox Code Playgroud)

我怎样才能把它一次性弹出到一个数据帧中,而不用一个一个地循环遍历每个字典和键,这样我就有一个如下所示的数据帧:

2×3 DataFrame
? Row ? ratio1  ? ratio2  ? time                        ?
?     ? Float64 ? Float64 ? String                      ?
?????????????????????????????????????????????????????????
? 1   ? 1.36233 ? 1.36243 ? 2014-06-19T15:47:40.000000Z ?
? 2   ? 1.3623  ? 1.36245 ? 2014-06-19T15:48:00.000000Z ?
Run Code Online (Sandbox Code Playgroud)

julia

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

如何填充具有预定容量的向量?

我正在尝试使用一个矢量初始化后填充一个矢量,with_capacity()因为在创建矢量之前已知元素的数量,并且使用它似乎更有效。

以下代码不会使用随机值AT ALL填充:println!("{}", v.len());输出零。

use rand::Rng;

fn main() {
    const NUMBER_OF_RANDOM_NUMBERS: usize = 10;

    let mut v = Vec::with_capacity(NUMBER_OF_RANDOM_NUMBERS);

    for i in &mut v {
        *i += rand::thread_rng().gen_range(1, 2^32);
    }

    println!("{}", v.len());
}
Run Code Online (Sandbox Code Playgroud)

我的想法是,在let mut v = Vec::with_capacity(NUMBER_OF_RANDOM_NUMBERS)使用10个零初始化一个崭新的向量之后,然后使用rand::thread_rng().gen_range(1, 2^32)插入,或者我应该说,向每个零添加一个随机数。

我在这里想念什么吗?

rust

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

根据Python中列表的索引填充int64 DataFrame列

我有一个带有所有int64类型列的DataFrame。

  City  Val  ...
0    3    1  
1    2   43  
2    0   32  
3    1   54
Run Code Online (Sandbox Code Playgroud)

然后,我列出了类别名称:

names = ['Sydney', 'Tokyo', 'Vancouver', 'Toronto']
Run Code Online (Sandbox Code Playgroud)

我要基于names列表索引(即0 =“悉尼”和1 =“东京”),用城市名称填充“城市”列。

理想的结果:

       City Val  ...
0   Toronto   1  
1 Vancouver  43  
2    Sydney  32  
3     Tokyo  54
Run Code Online (Sandbox Code Playgroud)

我试过:df['City'].loc[df['City'].isin(names), df['City']]=names.index(df['City']),但出现错误

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)

并且,我想将“城市”列更改为类别类型。

    df['City'] = df['City'].astype('category')
    df['City'].cat.set_categories(names, ordered=True, inplace=True)
Run Code Online (Sandbox Code Playgroud)

python pandas

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

"警告:在使用Julia中的DataFrames时,使用冒号作为行进行索引将在以后创建副本"

当我尝试从Julia中的DataFrame中提取列时,出现以下错误:

julia> datecol = df [:,:time]
┌警告:使用冒号作为行进行索引将在以后创建副本.使用df[col_inds]得到而不进行复制的列
在无│呼叫者=顶层范围:0
└@核心无:0
5000-元件
阵列{字符串,1}:
"2002-11-27T22:00:00.000000Z"
"2002-11 -28T22:00:00.000000Z"
.
.
.

但是,当我执行时df[:time]没有产生任何警告.

有人可以阐明df[:, :time]和之间的区别df[:time]吗?每个都执行根本不同的操作???

dataframe julia

0
推荐指数
1
解决办法
54
查看次数

标签 统计

julia ×2

dataframe ×1

pandas ×1

python ×1

rust ×1