小编Eze*_*r K的帖子

在scala中,如何找到数组元素的大小

Scala新手,有一个数组,其中一个元素是一个数组:

val aaa = Array("a", "b", Array(1, 2, 3), "c")
Run Code Online (Sandbox Code Playgroud)

这有效:

In []: aaa(2)
Out[]: Array(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

这有效

In []: Array(1, 2, 3).size
Out[]:3
Run Code Online (Sandbox Code Playgroud)

这不是:

In []: aaa(2).size
Out[]:
Name: Compile Error
Message: <console>:15: error: value size is not a member of                     
java.io.Serializable
          aaa(2).size
                 ^
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?Thnaks

arrays size scala element

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

使用 jupyter 小部件保存对 Pandas 数据框的点击

基本上我想要做的是使熊猫数据框可点击并保存用户所做的点击。

考虑为此使用小部件。

到目前为止,我有这个:

import pandas as pd
from IPython.display import display, HTML
from ipywidgets import widgets

df = pd.DataFrame([[1,'car'],[2,'bus'],[3,'train']])

click_list = []

display(df[:1]) 
button = widgets.Button(description='click')
display(button)
def obc(b):
    click_list.append((pd.to_datetime('now'),1)) 
button.on_click(obc)

button2 = widgets.Button(description='click')
display(button2)
def obc2(b):
    click_list.append((pd.to_datetime('now'),2))
display(df[1:2])  
button2.on_click(obc2)

button3 = widgets.Button(description='click')
display(button3)
def obc3(b):
    click_list.append((pd.to_datetime('now'),3))
display(df[2:3])  
button3.on_click(obc3)
Run Code Online (Sandbox Code Playgroud)

给出这个:

在此处输入图片说明

它具有我所追求的基本功能,但它以一种令人困惑的方式显示(特别是如果我们谈论的是数十行)我想要这样的东西:

在此处输入图片说明

或类似的,任何帮助都会非常有用

python widget pandas jupyter

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

是否有更快的方法从字典中获取多个键?

我有一本字典:

d = {'a':1, 'b':2, 'c':3, 'd':4}
Run Code Online (Sandbox Code Playgroud)

然后我有一个键列表:

l = ['a', 'b', 'z']
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

[1, 2, None]
Run Code Online (Sandbox Code Playgroud)

到目前为止我所做的是:

[d.get(k) for k in l]
Run Code Online (Sandbox Code Playgroud)

有更快的方法吗?也许没有for

python performance dictionary key-value

6
推荐指数
2
解决办法
1348
查看次数

在 github 中,有没有办法阻止除 dev 之外的任何其他分支向 main 发出拉取请求?

我试图定义以下规则:“main仅允许来自dev”的拉取请求;因此,如果有人从随机分支打开 PR,则main不应允许。我该如何继续这样做?

github

6
推荐指数
2
解决办法
1894
查看次数

Ipython笔记本中的pyspark引发了Py4JNetworkError

我正在使用IPython笔记本运行PySpark,只需将以下内容添加到笔记本中:

import os
os.chdir('../data_files')
import sys
import pandas as pd
%pylab inline
from IPython.display import Image
os.environ['SPARK_HOME']="spark-1.3.1-bin-hadoop2.6"
sys.path.append( os.path.join(os.environ['SPARK_HOME'], 'python') )
sys.path.append( os.path.join(os.environ['SPARK_HOME'], 'bin') )
sys.path.append( os.path.join(os.environ['SPARK_HOME'], 'python/lib/py4j-0.8.2.1-src.zip') )
from pyspark import SparkContext
sc = SparkContext('local')
Run Code Online (Sandbox Code Playgroud)

这适用于一个项目.但在我的第二个项目中,运行几行(每次都不一样)后,我收到以下错误:

ERROR:py4j.java_gateway:An error occurred while trying to connect to the Java server
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/py4j-0.8.2.1-py2.7.egg/py4j/java_gateway.py", line 425, in start
    self.socket.connect((self.address, self.port))
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 111] Connection refused
---------------------------------------------------------------------------
Py4JNetworkError                          Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

ipython ipython-notebook pyspark

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

在 SQL 中,有没有办法在连接上使用 select * ?

使用 Snowflake,有 2 个表,一个有很多列,另一个有几个列,尝试在它们的连接上选择 * ,出现以下错误:

SQL compilation error:duplicate column name
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为我的连接列都在两个表中,可能可以使用带有列名的 select 而不是 *,但有没有办法避免这种情况?或者至少让查询从它获取的任何表动态推断列名称?

sql snowflake-cloud-data-platform

4
推荐指数
2
解决办法
876
查看次数

SQL row_number() - 如何忽略空值?

我需要使用以下查询向用户活动添加计数器:

select PERSON_ID, TIMESTAMP, 
  row_number() over (partition by  PERSON_ID order by  TIMESTAMP asc) as PERSON_COUNTER
from table1;
Run Code Online (Sandbox Code Playgroud)

这很有效,但它也会计算 PERSON_ID 为 null 的情况,并分配计数器,就好像 null 是用户名一样。我想要的是在这些情况下计数器为空 - 有什么想法吗?

sql null row-number snowflake-cloud-data-platform

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

对不同表中的列中的值使用 ILIKE ANY

有一个电子邮件域列表,并且想要标记“免费”(如果该域类似于免费域),这对我来说适用于硬编码列表,如下所示:

CASE WHEN lower(email_domain) ilike any ('%%gmail%%','%%yahoo%%', '%%hotmail%%') THEN 'free' else 'business' end
Run Code Online (Sandbox Code Playgroud)

但我真正想做的是从不同表中的列中获取免费域列表,如下所示:

| SUBSTRING_VALUE   |
|:------------------|
| "gmail"           |
| "hotmail"         |
| "yahoo"           |
Run Code Online (Sandbox Code Playgroud)

我尝试过使用带有 listagg 或 arrayagg 的子查询,但它不起作用,有什么方法可以做到这一点?

sql-like snowflake-cloud-data-platform

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

每次值为零时 pandas 都会重新启动 cumsum

所以我有一个系列,我想要 cumsum,但每次我达到 0 时都重新开始,如下所示:

原始 想要的结果
0 0 0
1 1 1
2 1 2
3 1 3
4 1 4
5 1 5
6 1 6
7 0 0
8 1 1
9 1 2
10 1 3
11 0 0
12 1 1
13 1 2
14 1 3
15 1 4
16 1 5
17 号 1 6

有任何想法吗?(熊猫、纯蟒蛇、其他)

python pandas cumsum

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