小编vas*_*111的帖子

按值获取列表中具有重复列名称的列表

我有数据框:

import pandas as pd

data = [[101, 1, 2, 10, 3, 2, 3, 1], [5,5, 5, 5, 5, 5, 5, 5], [30, 3, 7, 14, 10, 7, 10, 2], [11, 2, 6, 15, 20, 6, 20, 11]] 

df = pd.DataFrame(data, columns = ['xen', 'sim', 'tab', 'sim', 'simm', 'box', 'simm', 'res'])
Run Code Online (Sandbox Code Playgroud)

看起来像:

|   xen |   sim |   tab |   sim |   simm |   box |   simm |   res |
|------:|------:|------:|------:|-------:|------:|-------:|------:|
|   101 |     1 |     2 |    10 |      3 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

管道错误(ValueError:仅 pandas DataFrame 支持使用字符串指定列)

该示例是完全可重现的。这是完整的笔记本(也下载数据):https ://github.com/ageron/handson-ml2/blob/master/02_end_to_end_machine_learning_project.ipynb

在上面笔记本中的这部分之后:

full_pipeline_with_predictor = Pipeline([
        ("preparation", full_pipeline),
        ("linear", LinearRegression())
    ])

full_pipeline_with_predictor.fit(housing, housing_labels)
full_pipeline_with_predictor.predict(some_data)
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码获得对测试集的预测:

X_test_prepared = full_pipeline.transform(X_test)
final_predictions = full_pipeline_with_predictor.predict(X_test_prepared)
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

C:\Users\Alex\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\compose\_column_transformer.py:430: FutureWarning: Given feature/column names or counts do not match the ones for the data given during fit. This will fail from v0.24.
  FutureWarning)
---------------------------------------------------------------------------
Empty                                     Traceback (most recent call last)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\joblib\parallel.py in dispatch_one_batch(self, iterator)
    796             try:
--> 797                 tasks = self._ready_batches.get(block=False)
    798             except queue.Empty:

~\AppData\Local\Continuum\anaconda3\lib\queue.py in get(self, block, timeout)
    166                 if not self._qsize():
--> 167                     raise …
Run Code Online (Sandbox Code Playgroud)

python pipeline machine-learning python-3.x scikit-learn

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

关于生成随机数的几点思考

我研究JavaScript并想要一些关于生成随机整数的信息.我看它在googlestackoverflow和主要被找到这样的代码(在情况下,我们希望数字1到52):

var randInt=function(){
   number=Math.floor(Math.random()*52+1);
};
Run Code Online (Sandbox Code Playgroud)

var randNumMin = 1;
var randNumMax = 52;
var randInt = function (){
   number = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
};
Run Code Online (Sandbox Code Playgroud)

我读到一些参考Math.random,发现它是从生成的数字01.如果Math.random生成1,我们将得到数字5,这意味着我们将得到错误.我同意这是非常罕见的情况,但它是可能的.我略微修改了代码以避免该错误(在我们的例子中生成数字53).在这里,我认为是JavaScript中生成随机数的正确代码.在您的示例中,它只生成整数,但我认为可以修改代码并生成任何类型的数字:

var randInt = function(){
    number = Math.floor(Math.random()*52+1);
    if (number === 53){
       randInt();
    }
};
Run Code Online (Sandbox Code Playgroud)

var randNumMin = 1;
var randNumMax = 52;
var randInt = function (){
    number = …
Run Code Online (Sandbox Code Playgroud)

javascript random

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

Tcl中不区分大小写的比较

我在TCL中有代码:

set a 1
set b 0
set c "Start"
if { $a == 1 && ($b == 1 || $c == "Start") } {
    puts Works
}
Run Code Online (Sandbox Code Playgroud)

我想 $c == "Start"检查不区分大小写Start.我该怎么做?

tcl

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

带有可选参数的 TCL 过程调用

有一个 TCL 脚本,它func在不同的命名空间中有多个具有相似名称的过程定义。程序如下所示:

proc func {a} {
    puts $a
}
Run Code Online (Sandbox Code Playgroud)

所有那种程序只有一个参数a。所有这些类型的过程都是从整个脚本的一行中调用的:

func $a
Run Code Online (Sandbox Code Playgroud)

我需要func在其他命名空间中创建另一个具有相似名称的过程定义。但该过程将有两个参数。该过程也需要从与其他同名过程相同的行调用。程序如下所示:

proc func {a b} {
    puts $a
    puts $b
}
Run Code Online (Sandbox Code Playgroud)

我现在需要修改调用所有这些过程的行,func $a以便它可以调用所有具有一个参数的过程和具有两个参数的新过程。但是不能更改带有一个参数的过程定义。调用所有这些程序的行func $a应该是什么样的?

tcl

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

如何在AutoHotKey中切换键盘映射

我想将键盘的一部分映射为数字键盘:(我的笔记本电脑键盘没有数字键盘)

j->1
k->2
l->3
u->4
i->5
o->6
Run Code Online (Sandbox Code Playgroud)

我想用快捷方式切换映射,比方说Control+ Alt+ M,我的代码在下面,但是,我不知道如何重置映射:

mode = 0

^!m::
  if (mode = 1)
  {
    mode = 0
    j->1
    k->2
    l->3
    u->4
    i->5
    o->6
  }
  else
  { 
    mode = 1
    u::u ;got error here: duplicate hotkey
  }
return
Run Code Online (Sandbox Code Playgroud)

我得到了重复的热键错误u::u,似乎AHK不允许在脚本中映射多个键. GetKeyState("NumLock", "P")不行,因为我没有NumLock.

我能用这段代码实现:

^!m::
Suspend
u::4
i::5
o::6
return
Run Code Online (Sandbox Code Playgroud)

但这会切换整个脚本,这显然不是很好.所以我想要比这更好的解决方案.

autohotkey hotkeys

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

如何使用 ImageMagick 截取屏幕的一部分?

我使用 Windows 8。我有屏幕部分的坐标,我只想制作那个矩形的屏幕截图。我怎样才能用 ImageMagick 做到这一点?

screenshot image imagemagick image-processing

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

如何从向量制作公式

我需要一种从字符串向量创建公式的方法。

例如,我有向量:

a<-c("var1", "var2", "var3")
Run Code Online (Sandbox Code Playgroud)

现在我需要从该向量制作公式。上面向量的相应公式应如下所示:

~var1 + var2 + var3
Run Code Online (Sandbox Code Playgroud)

因此,结果公式应以 开头,~之后应以+.分隔变量名。每个变量名称对应向量的每个单元格。

r formula

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

覆盖 VS Code 中的默认语法着色

我正在尝试覆盖 VS Code 中的默认语法着色。特别是#a31515我想看到(绿色)颜色,而不是默认主题“Light(Visual Studio)”中的#036A07(红色)颜色。

为此,在editor.tokenColorCustomizations我的用户设置settings.json文件中,我更改了默认值:

"editor.tokenColorCustomizations": null
Run Code Online (Sandbox Code Playgroud)

到:

"editor.tokenColorCustomizations": {
            "markup.deleted": "#036A07",
            "meta.preprocessor.string": "#036A07",
            "string": "#036A07",
            "entity.name.operator.custom-literal.string": "#036A07",
            "meta.embedded.assembly": "#036A07"
        }
Run Code Online (Sandbox Code Playgroud)

我保存了settings.json文件并重新启动了 VS code,但我没有看到代码突出显示有任何变化(与之前相同的红色):

在此输入图像描述




问题:我的代码有什么问题,正确的代码是什么?


从下面的 @tHeSiD 答案中,我创建了这段代码并且它有效:

"editor.tokenColorCustomizations": {
      "textMateRules": [
        {
          "name": "Single Quotes",
          "scope": "string.quoted.single.python",
          "settings": {
          "fontStyle": "",
          "foreground": "#036A07"
          }
        }]
      }
Run Code Online (Sandbox Code Playgroud)

仅针对特定主题进行设置:

"editor.tokenColorCustomizations": {
      "[Visual Studio Light]": {
        "textMateRules": [
          {
            "name": "Single Quotes",
            "scope": "string.quoted.single.python",
            "settings": {
            "fontStyle": "",
            "foreground": "#036A07" …
Run Code Online (Sandbox Code Playgroud)

visual-studio-code

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

将函数应用于 pandas 数据框的列

这可以正确工作:

import pandas as pd

def fnc(m):
    return m+4

df = pd.DataFrame({"m": [1,2,3,4,5,6], "c": [1,1,1,1,1,1], "x":[5,3,6,2,6,1]})
df
# apply a self created function to a single column in pandas
df["y"] = df['m'].apply(fnc)
df
Run Code Online (Sandbox Code Playgroud)

我尝试修改上面的代码。这里我需要将列m值添加到列c值并将结果分配给列y

import pandas as pd

def fnc(m,c):
    return m+c

df = pd.DataFrame({"m": [1,2,3,4,5,6], "c": [1,1,1,1,1,1], "x":[5,3,6,2,6,1]})
df
# apply a self created function to a single column in pandas
df["y"] = df[['m','c']].apply(fnc)
df
Run Code Online (Sandbox Code Playgroud)

给我错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last) …
Run Code Online (Sandbox Code Playgroud)

python functional-programming function python-3.x pandas

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