标签: assign

Pandas:使用方法链修改单元格值

>>> df
  a b c ...
0 1 2
1 3 4
. ... 
Run Code Online (Sandbox Code Playgroud)

我希望该b列加倍。我知道这个方法

>>> df['b'] *= 2
Run Code Online (Sandbox Code Playgroud)

我可以以方法链接方式执行此操作吗?我想更可爱!像这样的东西。

>>> (df.drop('c', 1)
       .someMethodToReplaceBColumnValues())
Run Code Online (Sandbox Code Playgroud)

我有很多方法来清理数据,这是其中一种操作,我一直坚持这样做。我也碰到过,replaceset_value等,但我无法弄清楚如何。

apply也尝试过方法,但它只返回应用该操作的列。所以我只得到b带有 apply 方法的列。如何进一步接近?

python apply chaining assign pandas

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

lambda 为全局变量赋值?

我正在使用 tkinter 并尝试在按下按钮时为全局变量赋值。这是代码: popup.add_command(label="Allow Moving Item", command=lambda: allowMoving=True) 我收到无效的语法。你能告诉我如何解决这个问题吗?非常感谢!

python lambda assign

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

我的函数返回一个结构体;为什么编译器不允许对该结果值的字段进行赋值?

在golang中,如果我在函数中返回结构体类型,则会出现编译错误,我必须使用结构体的指针作为返回类型来直接通过函数调用来实现成员访问。这是为什么?foo() 不是返回一个 Employee 类型的临时变量吗?

package main


type Employee struct {
ID int
Name string
Address string
Position string
Salary int
ManagerID int
}
var dilbert Employee


func foo() Employee {
    employee := Employee{}
    return employee
}

func bar() *Employee {
    employee := Employee{}
    return &employee
}

func main() {
    dilbert.Salary = 1
    var b = foo()
    b.Salary = 1

    bar().Salary = 1    // this is good
    foo().Salary = 1    // this line has the compilation error cannot assign to foo().Salary …
Run Code Online (Sandbox Code Playgroud)

struct field function go assign

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

APL 中的语法错误(在分配时更改名称类)

当我尝试在 Dyalog APL 中分配名称时,收到以下错误消息之一:

  • SYNTAX ERROR: Can't change nameclass on assignment
  • SYNTAX ERROR: Invalid modified assignment, or an attempt was made to change nameclass on assignment

“在分配时更改名称类”到底意味着什么,为什么不允许这样做,以及如何解决这个问题?

syntax-error variable-assignment apl dyalog assign

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

如何在 MATLAB 中将单个值/矩阵分配给多个变量?

我试图将 6x6 单位矩阵分配给 21 个变量。我的代码如下所示:

[S1,S2,S3,S4,S5,S6,L21,L31,L41,L51,L61,L32,L42,L52,L62,L43,L53,L63,L54,L64,L65] = eye(6);
Run Code Online (Sandbox Code Playgroud)

我明白为什么这不起作用,但我还没有找到任何方法可以在一行代码中做到这一点,而我确实应该能够做到。

我如何以尽可能少的代码来做到这一点?类似的例子是:

[a,b,c,d] = 5
Run Code Online (Sandbox Code Playgroud)

如何将多个变量分配给同一个值/矩阵?

matlab variable-assignment assign

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

如何在不使用新的情况下进行直接分配?

我想在C#中做这样的事情:

Foo test = "string";
Run Code Online (Sandbox Code Playgroud)

现在应该初始化对象.我怎样才能做到这一点?我不能让它工作,但我知道这是可能的.

c# assign

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

Excel VBA如何使用多个excel范围中的值填充多维(3d)数组?

我正在尝试从存储在Excel工作表中的数据填充3d数组.我希望我只是不知道语法,但可能无法"批量"将值分配给3D数组,就像使用2D数组一样.如...

Dim 2DArray() As Variant
2DArray = Range(A1:C10)
Run Code Online (Sandbox Code Playgroud)

这是如此干净和高效我希望有一些等价的东西,而不是使用3个嵌套的for-next循环来一次填充数据一个值.

对于背景,这是查找/插入气体压缩系数Z,其取决于比重,压力和温度.我有6个不同的比重值的6个表(实际上只是命名范围).每个表的压力和温度交叉列表,Z因子作为数据点.这是我的代码(不起作用):

Sub Array3DTest()
    Dim ZTables() As Variant
    ReDim ZTables(1 to 6, 1 to 15, 1 to 9) 
    '6 specific gravity tables, '15 pressure indices, 9 temp indices

    'Here is my feeble attempt to guess the syntax...
    'ZTables = ("tblZFactorSG1", "tblZFactorSG2", "tblZFactorSG3",
    '              "tblZFactorSG4", "tblZFactorSG5", "tblZFactorSG6")

End Sub
Run Code Online (Sandbox Code Playgroud)

为了澄清,tblZFactorSG1 ... SG2 ... SG3 ...等是具有交叉标签Z因子的6个命名范围.全部为15行(压力)×9列(温度).最后一行被注释掉了因为VBA不喜欢语法,但也许你可以看到我在这里想做的事情.我正在尝试将数据分配给15x9的块中的3Darray.tblZFactorSG1包含应该在ZTables中的值(1,1到15,1到9).tblZFactorSG2包含应该在ZTables中的值(2,1到15,1到9).

在此先感谢您的帮助.

arrays excel vba multidimensional-array assign

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

编译器理解 - 在if语句中赋值

我最近遇到了这种语法

int i;
String s = "test";
if(!((i=s.length()) == 0)) {
    System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)

如果你想知道它打印什么打印:

4
Run Code Online (Sandbox Code Playgroud)

现在我知道这个代码编译以及正确运行.我也明白这会将s.length的值放入i中.我想知道这怎么可能?我们如何在if子句中等同/赋值变量.是否有人有任何见解,不知道如何使用编译器

java if-statement assign

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

如何在循环中更改数据框中的列名?

我有10个(例如)具有相似名称的数据帧,如df1,df2,df3,...有10列我想在每个数据帧中给出第10列的名称,如数据帧名称(df1中的第10列必须有"df1")名称,在df2 - "df2"等)

我试过这个

for (i in paste0("df",1:10)){
     assign(names(get(i))[10],
            value=i
            )
     }
Run Code Online (Sandbox Code Playgroud)

但没有改变我怎样才能解决这个问题?

loops r dataframe assign

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

向量化分配函数并在全局环境中创建对象

我想对assign函数进行向量化,并创建一组参数,以反映所提供的命名向量,该向量可以直接在中使用.GlobalEnv

vec_args <- c(arg1 = 1,
              arg2 = 2,
              arg3 =  3)

Vectorize(assign)(x = names(vec_args),
                  value = vec_args,
                  envir = globalenv())
Run Code Online (Sandbox Code Playgroud)

错误

点[[3L]] [[1L]]中的错误:用于设置环境的错误参数

所需结果

ag1 <- 1; arg2 <- 2; arg3 <- 3; ls()
# [1] "ag1"        "arg2"       "arg3"       "vec_args"
Run Code Online (Sandbox Code Playgroud)

或通过assign

实际上,我想复制该调用:

assign(x = "arg1", value = vec_args[1], envir = globalenv())
Run Code Online (Sandbox Code Playgroud)

向量的每个元素,并使用向量名称在中创建名称.GlobalEnv

namespaces r vectorization assign

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