在我的终端,我输入$ which python3,输出
/opt/local/bin/python3
Run Code Online (Sandbox Code Playgroud)
我想配置Atom来运行Python3脚本.在我的Atom配置中,我有
runner:
python: "/opt/local/bin/python3"
Run Code Online (Sandbox Code Playgroud)
但是,如果我在一些名为的脚本中运行以下脚本filename.py,
import sys
print(sys.version)
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
2.7.11 (default, Feb 18 2016, 22:00:44)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]
Run Code Online (Sandbox Code Playgroud)
如何设置PATH以使Python3.x脚本正确运行?我可以使用不同的包装吗?
我有以下工作流程,将数据附加到空的 pandas Series 对象。(这个空数组也可以是 NumPy 数组,甚至是基本列表。)
in_memory_array = pd.Series([])
for df in list_of_pandas_dataframes:
new = df.apply(lambda row: compute_something(row), axis=1) ## new is a pandas.Series
in_memory_array = in_memory_array.append(new)
Run Code Online (Sandbox Code Playgroud)
我的问题是生成的数组in_memory_array对于 RAM 来说太大了。我不需要将所有对象保留在内存中进行此计算。
我认为一旦数组对于 RAM 来说太大,我的选择就是以某种方式将对象腌制到磁盘,例如
# N = some size in bytes too large for RAM
if sys.getsizeof(in_memory_array) > N:
with open('mypickle.pickle', 'wb') as f:
pickle.dump(in_memory_array, f)
Run Code Online (Sandbox Code Playgroud)
否则,有没有核外解决方案?最好的情况是创建一些上限,使得对象在 RAM 中的增长不能超过 X GB。
我正在尝试将 reCAPTCHA 包含在我正在开发的 React 应用程序中,并使用 Next.js 作为服务器端功能。
我认为我从根本上对 reCAPTCHA Enterprise 感到困惑。
以前使用 reCAPTCHA 注册域的“免费”方式是为用户提供一个公共 reCAPTCHA 密钥和一个用于后端的私有 reCAPTCHA 密钥。这是通过使用 Google 的 reCAPTCHA v3 通过“管理员”在https://www.google.com/recaptcha/admin/create注册的。
鉴于我有 GCP 帐户,我会被重定向到 reCAPTCHA Enterprise API。这里只有一把钥匙可用。reCAPTCHA Enterprise 中是否没有可使用的密钥?
如果是这样,如何使用它?现在没有私钥了吗?
recaptcha google-cloud-platform recaptcha-v3 react-google-recaptcha recaptcha-enterprise
通过迭代python列表,我想创建一个列表字典,其中每个字典的值也是一个列表.
结构将是:
[{key1: [val1, val2]}, {key2: [val3, val4]}, {key3: [val5, val6]}, ...]
Run Code Online (Sandbox Code Playgroud)
我从一个整数列表开始:
my_list = [3423, 77813, 12, 153, 1899]
Run Code Online (Sandbox Code Playgroud)
对于列表中的每个元素,这应该成为字典键.然后我将两个项附加到字典的值(这是一个列表).(假设这两个项目总是"狗"和"猫")
以下是最终结果:
[{3423:['dog', 'cat']}, {77813:['dog', 'cat']}, {12:['dog', 'cat']},
{153:['dog', 'cat']}, {1899:['dog', 'cat']}]
Run Code Online (Sandbox Code Playgroud)
我尝试这样做有很多问题:
for i in my_list:
d = {} ## create a dictionary 'd'
d[i] = [].append('dog') ## or `d[i] = ['dog'].append('cat')`
my_list.append(d) ## here is a bug
my_list.remove(i) ## remove the item from the list
Run Code Online (Sandbox Code Playgroud)
我不喜欢我必须命名一个空字典,让它们各自命名相同的东西(这里d).后来,我想用钥匙访问这些词典 - 我不在乎他们的名字.
当它实际上应该是一个列表时,我不知道如何合理地将多个项附加到字典值.如果我想添加几个项目怎么办?
该错误是将字典附加到原始列表,然后删除该项目.当然,这可以通过一个新的列表来解决:
new_list = []
for i in …Run Code Online (Sandbox Code Playgroud)我有一个嵌套字典,子字典使用列表:
nested_dict = {'string1': {69: [1231, 232], 67:[682, 12], 65: [1, 1]},
`string2` :{28672: [82, 23], 22736:[82, 93, 1102, 102], 19423: [64, 23]}, ... }
Run Code Online (Sandbox Code Playgroud)
列表中至少有两个元素用于子词典,但可能会有更多.
我想将这个字典"展开"成一个pandas DataFrame,第一个字典键有一列(例如'string1','string2',..),一个列用于子目录键,一列用于第一个字典键列表中的项目,下一个项目的一列,依此类推.
这是输出应该是什么样子:
col1 col2 col3 col4 col5 col6
string1 69 1231 232
string1 67 682 12
string1 65 1 1
string2 28672 82 23
string2 22736 82 93 1102 102
string2 19423 64 23
Run Code Online (Sandbox Code Playgroud)
当然,我尝试使用pd.DataFrame.from_dict:
new_df = pd.DataFrame.from_dict({(i,j): nested_dict[i][j]
for i in nested_dict.keys()
for j in nested_dict[i].keys()
...
Run Code Online (Sandbox Code Playgroud)
现在我被卡住了.并且存在许多问题:
如何解析字符串(即nested_dict[i].values() …
我正在使用 scikit-learn 来实现狄利克雷过程高斯混合模型:
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/mixture/dpgmm.py http://scikit-learn.org/stable/modules/ generated/sklearn.mixture.BayesianGaussianMixture.html
也就是说,sklearn.mixture.BayesianGaussianMixture()默认设置为weight_concentration_prior_type = 'dirichlet_process'。与 k 均值(用户先验设置聚类数量“k”)相反,DPGMM 是一种无限混合模型,使用狄利克雷过程作为聚类数量的先验分布。
我的 DPGMM 模型始终将准确的簇数量输出为n_components。正如这里所讨论的,处理这个问题的正确方法是“减少冗余组件” predict(X):
但是,链接到的示例实际上并未删除冗余组件并显示数据中“正确”的簇数。相反,它只是绘制正确的簇数。
http://scikit-learn.org/stable/auto_examples/mixture/plot_gmm.html
用户如何真正删除多余的组件,并输出一个包含这些组件的数组?这是删除冗余集群的“官方”/唯一方法吗?
这是我的代码:
>>> import pandas as pd
>>> import numpy as np
>>> import random
>>> from sklearn import mixture
>>> X = pd.read_csv(....) # my matrix
>>> X.shape
(20000, 48)
>>> dpgmm3 = mixture.BayesianGaussianMixture(n_components = 20, weight_concentration_prior_type='dirichlet_process', max_iter = 1000, verbose = 2)
>>> dpgmm3.fit(X) # Fitting the DPGMM model …Run Code Online (Sandbox Code Playgroud) 假设我在Python3.x中有以下pandas DataFrame
import pandas as pd
dict1 = {'name':['dog', 'dog', 'cat', 'cat', 'cat', 'bird', 'bird', 'bird', 'bird'], 'number':[42, 42, 42, 42, 42, 42, 42, 42, 42], 'count':[1, 2, 4, 5, 7, 1, 2, 5, 8]}
df = pd.DataFrame(dict1)
print(df)
## name number count
## 0 dog 42 1
## 1 dog 42 2
## 2 cat 42 4
## 3 cat 42 5
## 4 cat 42 7
## 5 bird 42 1
## 6 bird 42 2
## 7 …Run Code Online (Sandbox Code Playgroud) 假设我们在 Python 中有一个字符串:
original_string = "TwasTheNightBeforeChristmasWhenAllThroughTheHouse"
Run Code Online (Sandbox Code Playgroud)
我们有兴趣找到子字符串的起始坐标substring ="ChristmasWhen"。这在 Python 中非常简单,即
>>> substring ="ChristmasWhen"
>>> original_string.find(substring)
18
Run Code Online (Sandbox Code Playgroud)
这检查出来
>>> "TwasTheNightBeforeChristmasWhenAllThroughTheHouse"[18]
'C'
Run Code Online (Sandbox Code Playgroud)
如果我们试图寻找一个不存在的字符串,find()将返回 -1。
这是我的问题:
我有一个子字符串,它保证来自原始字符串。但是,此子字符串中的字符已被随机替换为另一个字符。
如果子字符串具有'-'替换某些字母的随机字符,我如何通过算法找到子字符串的开始坐标(或至少检查是否可能)?
这是一个具体的例子:
original_string = "TwasTheNightBeforeChristmasWhenAllThroughTheHouse"
substring = '-hri-t-asW-en'
Run Code Online (Sandbox Code Playgroud)
自然,如果我尝试original_string.find('-hri-t-asW-en'),但有可能找到hri从 19 开始,因此使用前缀-,子字符串original_string.find('-hri-t-asW-en')必须是 18。
也许这是一个简单的问题,但我还没有想出如何做到这一点:
我在 Go 中有一个字符串切片,我想将其表示为逗号分隔的字符串。这是切片example:
example := []string{"apple", "Bear", "kitty"}
Run Code Online (Sandbox Code Playgroud)
我想将其表示为带单引号的逗号分隔字符串,即
'apple', 'Bear', 'kitty'
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何在 Go 中有效地做到这一点。
例如,strings.Join()给出一个逗号分隔的字符串:
commaSep := strings.Join(example, ", ")
fmt.Println(commaSep)
// outputs: apple, Bear, kitty
Run Code Online (Sandbox Code Playgroud)
关闭,但不是我需要的。我也知道如何添加双引号strconv,即
new := []string{}
for _, v := range foobar{
v = strconv.Quote(v)
new = append(new, v)
}
commaSepNew := strings.Join(new, ", ")
fmt.Println(commaSepNew)
// outputs: "apple", "Bear", "kitty"
Run Code Online (Sandbox Code Playgroud)
再次,不是我想要的。
如何输出字符串'apple', 'Bear', 'kitty'?
我正在创建一个 R 包,它依赖于以下包akima,该包发布在 CRAN 上:
https://cran.r-project.org/web/packages/akima/index.html
当我尝试将我的 R 包上传到 CRAN 时,有一条注释:
Package has a FOSS license but eventually depends on the following
package which restricts use:
akima
Run Code Online (Sandbox Code Playgroud)
我很困惑如何解决这个问题,或者这个注释的实际含义。
鉴于这是 akima 的许可证(位于 CRAN 上),我可以做些什么来解决此注释吗?我自己的软件包目前依赖于 GPL-3 作为许可证,我认为这很好: https: //cran.r-project.org/web/licenses/
任何帮助在这里表示感谢。
我正在使用库react-google-recaptcha-v3将 reCAPTCHA v3 集成到我的 React 应用程序中,该应用程序也使用 Next。
自述文件中有以下示例向用户介绍该useGoogleReCaptcha挂钩:
import {
GoogleReCaptchaProvider,
useGoogleReCaptcha
} from 'react-google-recaptcha-v3';
const YourReCaptchaComponent = () => {
const { executeRecaptcha } = useGoogleReCaptcha();
const token = executeRecaptcha("login_page");
return (...)
}
ReactDom.render(
<GoogleReCaptchaProvider reCaptchaKey="[Your recaptcha key]">
<YourReCaptchaComponent />
</GoogleReCaptchaProvider>,
document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)
我很困惑我应该如何使用const token = executeRecaptcha("login_page"). 我目前不明白开发人员应该如何使用它token。是否没有与此令牌关联的“分数”,从而禁止潜在的机器人使用该页面?
如何验证此令牌并使用它?任何帮助表示赞赏。
我有一个对象列表
list = ['abc', 'dog', 'cat', 'bird',.....]
Run Code Online (Sandbox Code Playgroud)
我目前正在将此列表作为文本文件输出.我想将其转换为字典,以便"键值"是从零开始的索引.
dict = {0: 'abc', 1: 'dog', 2: 'cat', 3: 'bird', ...}
Run Code Online (Sandbox Code Playgroud)
怎么做到这一点?
python ×8
dictionary ×3
pandas ×2
python-3.x ×2
recaptcha-v3 ×2
string ×2
algorithm ×1
arrays ×1
atom-editor ×1
bigdata ×1
count ×1
cran ×1
dataframe ×1
go ×1
json ×1
list ×1
matrix ×1
memory ×1
next.js ×1
numpy ×1
path ×1
quotes ×1
r ×1
r-package ×1
reactjs ×1
recaptcha ×1
scikit-learn ×1
statistics ×1
strconv ×1
substring ×1