小编M_x*_*M_x的帖子

如何进行多个查询?

我想做多个查询。这是我的数据框:

data = {'Name':['Penny','Ben','Benny','Mark','Ben1','Ben2','Ben3'], 
        'Eng':[5,1,4,3,1,2,3], 
        'Math':[1,5,3,2,2,2,3],
        'Physics':[2,5,3,1,1,2,3],
        'Sports':[4,5,2,3,1,2,3],
        'Total':[12,16,12,9,5,8,12],
        'Group':['A','A','A','A','A','B','B']}

df1=pd.DataFrame(data, columns=['Name','Eng','Math','Physics','Sports','Total','Group']) 
df1
Run Code Online (Sandbox Code Playgroud)

我有 3 个查询:

  1. A组或B组
  2. 数学 > Eng
  3. 名称以“B”开头

我试着一一做

df1[df1.Name.str.startswith('B')]
df1.query('Math > Eng')
df1[df1.Group == 'A'] #I cannot run the code with df1[df1.Group == 'A' or 'B']
Run Code Online (Sandbox Code Playgroud)

然后,我尝试合并这些查询

df1.query("'Math > Eng' & 'df1[df1.Name.str.startswith('B')]' & 'df1[df1.Group == 'A']")
TokenError: ('EOF in multi-line statement', (2, 0))
Run Code Online (Sandbox Code Playgroud)

我也试图通过str.startswith()进入df.query()

df1.query("df1.Name.str.startswith('B')")
UndefinedVariableError: name 'df1' is not defined
Run Code Online (Sandbox Code Playgroud)

我尝试了很多方法,但没有一个有效。我怎样才能把这些查询放在一起?

python dataframe pandas

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

将 XGBoost 与 dask 分布式一起使用时出现值类型错误

这是在我的机器上重现错误的代码:

import numpy as np
import xgboost as xgb
import dask.array as da
import dask.distributed
from dask_cuda import LocalCUDACluster
from dask.distributed import Client

X = da.from_array(np.random.randint(0,10,size=(10,10)))
Y = da.from_array(np.random.randint(0,10,size=(10,1)))

cluster = LocalCUDACluster(n_workers=4, threads_per_worker=1)
client = Client(cluster)

dtrain = xgb.dask.DaskDeviceQuantileDMatrix(client=client, data=X, label=Y)

params = {'tree_method':'gpu_hist','objective':'rank:pairwise','min_child_weight':1,'max_depth':3,'eta':0.1} 
watchlist = [(trainLong, 'train')] 
reg= xgb.dask.train(client, params, dtrain, num_boost_round=10,evals=watchlist,verbose_eval=1)
Run Code Online (Sandbox Code Playgroud)

这是错误的摘要:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-ff1b0329f2f9> in <module>
      1 params = {'tree_method':'gpu_hist','objective':'rank:pairwise','min_child_weight':1,'max_depth':3,'eta':0.1}
      2 watchlist = [(trainLong, 'train')]
----> 3 regLong = xgb.dask.train(client, params, trainLong, …
Run Code Online (Sandbox Code Playgroud)

python distributed gpu dask xgboost

6
推荐指数
0
解决办法
376
查看次数

如何使用 GORM 在 Postgres 的 JSONB 字段中插入数据

我有这样的模型

  • 模型.go
type yourTableName struct {
   Name             string `gorm:"type:varchar(50)" json:"name"`
   Email            string `gorm:"type:varchar(50)" json:"email"`
   FieldNameOfJsonb JSONB  `gorm:"type:jsonb" json:"fieldnameofjsonb"`
}
Run Code Online (Sandbox Code Playgroud)
  • 我想使用 GORM 将 FieldNameOfJsonb 作为array of objectpostgres插入

  • 就像下面给出的

{
    "name": " james",
    "email": "james@gmail.com",
    "FieldNameOfJsonb": [
        {
            "someField1": "value",
            "someFiedl2": "somevalue",    
        },
        {
            "Field1": "value1",
            "Fiedl2": "value2",
        }
    ],
Run Code Online (Sandbox Code Playgroud)

postgresql go go-gorm

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

如何找出每种产品在 Pandas DataFrame 中的销量

我有一个像这样的熊猫数据框:

      Name Product  Amount
0      Bob   Apple       1
1      Bob  Banana       2
2  Jessica  Orange       3
3  Jessica  Banana       4
4  Jessica  Tomato       3
5     Mary  Banana       2
6     John   Apple       3
7     John   Grape       1
Run Code Online (Sandbox Code Playgroud)
import pandas as pd

data = [('Bob','Apple',1), ('Bob','Banana',2), ('Jessica','Orange',3),
      ('Jessica','Banana',4),('Jessica','Tomato',3), ('Mary','Banana',2),
      ('John','Apple',3),('John','Grape',1)]

df = pd.DataFrame(data,columns=['Name','Product','Amount'])

Run Code Online (Sandbox Code Playgroud)

到目前为止我所做的:

l = []
count=0
for i in range(0,8):
    row = df.iloc[i]
    
    if row.Product not in l:
        l.append(row.Product)

Run Code Online (Sandbox Code Playgroud)

现在,l包含“产品”列中的所有唯一值,但我还需要总金额。

我如何查明每种产品的销量(例如,售出 4 件 Apple)?

python dataframe pandas

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

在 kibana 控制台中不断收到此错误“找不到动态方法 [java.util.HashMap, add/1]”

我是 elasticsearch 堆栈的新手...每当我尝试在 Kibana Dev Tool Console 中执行以下查询时,都会收到下面提到的错误

  • 在 Kibana 控制台中执行查询
POST employees-details/_update_by_query
{
  "query": {
    "match": {
      "EmpName": "Arvind"
    }
  },
  "script": {
    "source": "ctx._source.Address.add(params.tag)",
    "lang": "painless",
    "params": {
      "tag":{
        "AddressID":144,
        "AddressNumber":458
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

\/执行上述查询时不断出现此错误^^

"caused_by" : {
      "type" : "illegal_argument_exception",
      "reason" : "dynamic method [java.util.HashMap, add/1] not found"
    }
Run Code Online (Sandbox Code Playgroud)
  • 样本数据
[
      {
        "_index" : "employees-details",
        "_type" : "_doc",
        "_id" : "101",
        "_score" : 1.0,
        "_source" : {
          "EmpUserID" : 101,
          "Gender" : "Male",
          "EmpName" : …
Run Code Online (Sandbox Code Playgroud)

elasticsearch kibana elastic-stack

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

使用golang在postgres中从csv批量插入而不使用for循环

我是 Golang 的新手,

  • 我有一个 csv 文件,其中的数据看起来像这样
field1,field2
1.1,2
1.2,3
1.3,2
Run Code Online (Sandbox Code Playgroud)
  • 我想使用 golang 将所有 csv 数据插入到 db 表中而不使用 for 循环..我正在使用 postgres 数据库

也不想使用 sql 原始查询

我正在使用 gorm ORM

database postgresql go go-gorm

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