我无法弄清楚print(__doc__)脚本开头的操作是什么,就像在这个Scikit示例中一样.
我一直在谷歌中寻找Python文档字符串,在__doc__函数中提供一些文档似乎很有用.但我看不到__doc__脚本中间做了什么.
每过一段时间,我去操纵csr_matrix,但我总是忘了怎样的参数indices,并indptr共同构建一个稀疏矩阵.
我正在寻找一个清晰直观的解释,说明在使用符号定义稀疏矩阵时如何与参数和参数进行indptr交互.dataindicescsr_matrix((data, indices, indptr), [shape=(M, N)])
我可以从scipy文档中看到该data参数包含所有非零数据,并且该indices参数包含与该数据相关联的列(因此,在文档中给出的示例中indices等于col).但是我们怎么能用清晰的语言解释indptr参数呢?
我使用的管道非常类似于此示例中给出的管道:
>>> text_clf = Pipeline([('vect', CountVectorizer()),
... ('tfidf', TfidfTransformer()),
... ('clf', MultinomialNB()),
... ])
Run Code Online (Sandbox Code Playgroud)
我用来GridSearchCV在参数网格上找到最佳估算器.
不过,我想获得我的训练与设定的列名get_feature_names()的方法CountVectorizer().如果没有CountVectorizer()在管道外实施,这可能吗?
我试图通过使用不同类型的函数和参数值来减少pandas数据框中的数据.但是,我没有设法更改聚合函数中的默认参数.这是一个例子:
>>> df = pd.DataFrame({'x': [1,np.nan,2,1],
... 'y': ['a','a','b','b']})
>>> df
x y
0 1.0 a
1 NaN a
2 2.0 b
3 1.0 b
Run Code Online (Sandbox Code Playgroud)
这是一个聚合函数,我想测试它的不同值b:
>>> def translate_mean(x, b=10):
... y = [elem + b for elem in x]
... return np.mean(y)
Run Code Online (Sandbox Code Playgroud)
在下面的代码中,我可以使用此函数的默认b值,但我想传递其他值:
>>> df.groupby('y').agg(translate_mean)
x
y
a NaN
b 11.5
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我想知道装饰函数是否有办法引用装饰器包装器创建的对象.当我想要使用装饰器时,我的问题出现了:
但是,修饰函数需要引用包装器创建的图形.装饰函数如何引用该对象?我们是否必须诉诸全局变量?
这是一个简短的例子,我在装饰函数中引用了一个在包装器中创建的变量(但是我没有设法在没有使用全局变量的情况下执行此操作):
def my_decorator(func):
def my_decorator_wrapper(*args, **kwargs):
global x
x = 0
print("x in wrapper:", x)
return func(*args, **kwargs)
return my_decorator_wrapper
@my_decorator
def decorated_func():
global x
x += 1
print("x in decorated_func:", x)
decorated_func()
# prints:
# x in wrapper: 0
# x in decorated_func: 1
Run Code Online (Sandbox Code Playgroud)
我知道这很容易在课堂上完成,但我出于好奇而问这个问题.
我对在 Coursera Java 课程的测验中发现的这个继承示例感到困惑:
getPrefix()方法覆盖类'A方法number属性覆盖类的 A 属性class ClassA {
protected int number;
public ClassA() {
number = 20;
}
public void print() {
System.out.println(getPrefix() + ": " + number);
}
protected String getPrefix() {
return "A";
}
}
class ClassB extends ClassA {
protected int number = 10;
protected String getPrefix() {
return "B";
}
}
public class Quizz {
public static void main(String[] args) {
ClassB b = new ClassB();
b.print(); …Run Code Online (Sandbox Code Playgroud) 我有很多充满换行符的文本文件,我正在 python 3.4 中解析它们。我正在寻找换行符,因为它们将我的文本分成不同的部分。这是一个文本示例:
\n\ntext = \'avocat ;\\n\\n m. x\'\nRun Code Online (Sandbox Code Playgroud)\n\n我 na\xc3\xafvely 开始在正则表达式(RE)中寻找带有 \' \\n\' 的换行符,而不认为反斜杠 \' \\\' 是转义字符。然而,事实证明这工作得很好:
>>> import re\n\n>>> pattern1 = \'\\n\\n\'\n>>> re.findall(pattern1, text)\n[\'\\n\\n\']\nRun Code Online (Sandbox Code Playgroud)\n\n然后,我明白我应该使用双反斜杠来寻找一个反斜杠。这也运行得很好:
\n\n>>> pattern2 = \'\\\\n\\\\n\'\n>>> re.findall(pattern2, text)\n[\'\\n\\n\']\nRun Code Online (Sandbox Code Playgroud)\n\n但在另一个线程上,我被告知使用原始字符串而不是常规字符串,但这种格式无法找到我正在寻找的换行符:
\n\n>>> pattern3 = r\'\\\\n\\\\n\'\n>>> pattern3\n\'\\\\\\\\n\\\\\\\\n\'\n>>> re.findall(pattern3, text)\n[]\nRun Code Online (Sandbox Code Playgroud)\n\n你能帮我一下吗?我有点困惑我应该使用什么 RE 之王才能正确匹配换行符。
\n我试图用正则表达式(RE)解析大量的文本文件样本.我试图从这些文件中提取包含'vu'的文本部分,并以换行符'\n'结尾.
模式因文件而异,因此我尝试使用OR运算符在文件中查找RE的组合.但是,我找不到自动化代码的方法,以便re.findall()函数查找RE的组合.
这是我试图解决这个问题的一个例子,但显然我仍然无法在re.findall()中评估我的正则表达式和OR运算符:
import re
def series2string(myserie) :
myserie2 = ' or '.join(serie for serie in myserie)
return myserie2
def expression(pattern, mystring) :
x = re.findall(pattern, mystring)
if len(x)>0:
return 1
else:
return 0
#text example
text = "\n\n (troisième chambre)\n i - vu la requête, enregistrée le 28 février 1997 sous le n° 97nc00465, présentée pour m. z... farinez, demeurant ... à dommartin-aux-bois (vosges), par me y..., avocat ;\n" …Run Code Online (Sandbox Code Playgroud) python ×7
regex ×2
aggregate ×1
docstring ×1
group-by ×1
inheritance ×1
java ×1
newline ×1
or-operator ×1
pandas ×1
pipeline ×1
rawstring ×1
scikit-learn ×1
scipy ×1