小编Kas*_*mvd的帖子

Nltk stanford pos tagger错误:Java命令失败

我正在尝试nltk.tag.stanford module 用来标记一个句子(首先像wiki的例子),但我一直收到以下错误:

Traceback (most recent call last):
  File "test.py", line 28, in <module>
    print st.tag(word_tokenize('What is the airspeed of an unladen swallow ?'))
  File "/usr/local/lib/python2.7/dist-packages/nltk/tag/stanford.py", line 59, in tag
    return self.tag_sents([tokens])[0]
  File "/usr/local/lib/python2.7/dist-packages/nltk/tag/stanford.py", line 81, in tag_sents
    stdout=PIPE, stderr=PIPE)
  File "/usr/local/lib/python2.7/dist-packages/nltk/internals.py", line 160, in java
    raise OSError('Java command failed!')
OSError: Java command failed!
Run Code Online (Sandbox Code Playgroud)

或以下LookupError错误:

LookupError: 

===========================================================================
NLTK was unable to find the java file!
Use software specific configuration paramaters or set the JAVAHOME environment variable.
=========================================================================== …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk stanford-nlp python-textprocessing

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

条件Yii 2中的活动数据提供者

我正在尝试使用数据提供程序以降序日期顺序为每个用户显示数据库,这适用于控制器上的Yii 1:

         $DataProvider = new CActiveDataProvider('ModelName', array(
                'criteria' => array(
                'condition' => 'user_id=' . Yii::app()->user->id,
                'order' => 'submitted_dt DESC',
            ),
            'pagination' => array(
                'pageSize' => 20,
            ),
        ));
Run Code Online (Sandbox Code Playgroud)

我在Yii 2中尝试这个:

     $DataProvider = new ActiveDataProvider([
                'query' => ModelName::find(),
              'criteria' => [
                'condition' => 'user_id=' . Yii::$app->user->identity->id,
                'order' => 'submitted_dt DESC',
                 ], 
            'pagination' => [
                'pageSize' => 20,
            ],
        ]);

        // get posts in the current page
        $Model= $DataProvider->getModels();
Run Code Online (Sandbox Code Playgroud)

我得到的错误是未知属性:yii\data\ActiveDataProvider::criteria.那么设置这个条件和顺序的方法是什么?欢迎所有建议

php yii yii2

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

获取属性错误:'map'对象没有属性'sort'

我试图按顺序排序数组.但是代码的错误高于:

a=[]
a=map(int, input().split(' '))
a.sort()
print (a)
Run Code Online (Sandbox Code Playgroud)

帮帮我吧

python sorting iterable python-3.x

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

在Python中对无限循环使用无限递归是一种罪恶吗?

这个问题更多的是好奇心而不是实用性.如果我正在编写一个应该永远运行的函数,例如一个守护进程,如果我从函数末尾再次调用该函数,Python将如何处理它?

def daemonLoop():

    # Declare locals

    # Do stuff

    daemonLoop()
Run Code Online (Sandbox Code Playgroud)

我很确定在C中执行此操作会导致堆栈溢出,但考虑到从C到Python 的抽象级别,我猜测的东西是以不同的方式处理的.

我会为此而下地狱吗?

c python recursion function-calls infinite-loop

9
推荐指数
2
解决办法
528
查看次数

Python 3:通过矩阵乘以一个没有NumPy的向量

我对Python很新,并试图创建一个函数来将向量乘以矩阵(任何列大小).例如:

multiply([1,0,0,1,0,0], [[0,1],[1,1],[1,0],[1,0],[1,1],[0,1]])

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

这是我的代码:

def multiply(v, G):
    result = []
    total = 0
    for i in range(len(G)):
        r = G[i]
        for j in range(len(v)):
            total += r[j] * v[j]
        result.append(total)
    return result  
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试选择矩阵中每列的第一行(r [j])时,会显示错误'list index out of range'.有没有其他方法可以在不使用NumPy的情况下完成乘法?

python numpy vector matrix python-3.x

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

python中的4维零点数组

我想在python中创建一个4维的零数组.我知道如何为方阵做这个,但我希望列表有不同的长度.

现在我用这个:

numpy.zeros((200,)*4)
Run Code Online (Sandbox Code Playgroud)

这给了他们所有的长度200,但我想有长度,200,20,100,20因为现在我的阵列中有很多零,我不使用

python arrays numpy

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

Python:如何在不知道格式的情况下将字符串转换为日期时间?

我有一个以字符串形式出现并代表时间的字段.有时它在12小时内,有时在24小时内.可能的值:

  1. 8:26
  2. 上午8时26
  3. 13:27

是否有一个函数可以通过聪明的方式将这些转换为时间格式?选项1没有因为它是24小时格式,而选项2前面有0而选项3显然是24小时格式.Python/lib中是否有一个函数可以:

time = func(str_time)
Run Code Online (Sandbox Code Playgroud)

python time

9
推荐指数
2
解决办法
4892
查看次数

使用Python多处理在子进程内创建子进程失败

尝试在Python中创建嵌套子进程时,我观察到了这种行为.这是父程序parent_process.py:

import multiprocessing
import child_process

pool = multiprocessing.Pool(processes=4)
for i in range(4):
        pool.apply_async(child_process.run, ())
pool.close()
pool.join()
Run Code Online (Sandbox Code Playgroud)

父程序在以下子程序child_process.py中调用"run"函数:

import multiprocessing

def run():
        pool = multiprocessing.Pool(processes=4)
        print 'TEST!'
        pool.close()
        pool.join()
Run Code Online (Sandbox Code Playgroud)

当我运行父程序时,没有打印出任何内容,程序很快退出.但是,如果print 'TEST!'在上面移动了一行(在创建嵌套子进程之前),'TEST!'则打印4次.

由于子进程中的错误不会打印到屏幕,这似乎表明当子进程创建自己的嵌套子进程时程序崩溃.

谁能解释一下场景背后会发生什么?谢谢!

python multiprocessing

9
推荐指数
2
解决办法
3806
查看次数

模块导入 Python 3.6 上的 ModuleNotFoundError 和 ImportError

我已经浏览并发现了很多问题和很多答案,但似乎没有任何问题。

我设置了两个文件config.pytest.py名为test一个文件夹下。

配置包括代码:

class Config:
    def __init__(self, name):
        self.name = name
Run Code Online (Sandbox Code Playgroud)

而测试有:

try:
    # Trying to find module in the parent package
    from . import config
    print(config.debug)
    del config
except ImportError:
    print('Relative import failed')

try:
    # Trying to find module on sys.path
    import config
    print(config.debug)
except ModuleNotFoundError:
    print('Absolute import failed')
Run Code Online (Sandbox Code Playgroud)

这已根据此堆栈答案的答案供应商汇总在一起。

不幸的是,我同时出现了两个错误,当我尝试直接调用它时,from config import Config我得到 ModuleNotFoundError

我真的对这个迷失了方向,不知道从哪里开始。

使用 Python 3.6,atom.io 作为我的 IDE。

python python-module python-3.x

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

Python错误:TypeError:'Timestamp'类型的对象不是JSON可序列化的'

我有一个Dataframe,其时间戳列的类型为'datetime64 [ns]'.当我尝试将其插入Salesforce平台时出现错误' TypeError:类型为'Timestamp'的对象不是JSON可序列化的 '.如何更改此时间戳列以使其正确更新.下面给出的是Dataframe的视图.

Id,Name,Date,Type
1,ProdA,2018-05-18 04:45:08,S
1,ProdB,2018-05-18 02:15:00,S
1,ProdC,2018-05-16 10:20:00,S
Run Code Online (Sandbox Code Playgroud)

这4列中每一列的数据类型:

Id                                     object
Name                                   object
Date                           datetime64[ns]
Type                                   object
dtype: object
Run Code Online (Sandbox Code Playgroud)

谁能帮助解决这个问题.谢谢.

python datetime json pandas

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