小编Spa*_*Boy的帖子

激活virtualenv的问题

我通过命令安装了python环境:

SYS_INSTALL="apt-get install -y"
PIP_INSTALL="pip install"

# Be sure to install setuptools before pip to properly replace easy_install.
$SYS_INSTALL git 
$SYS_INSTALL python-dev
$SYS_INSTALL python-setuptools
$SYS_INSTALL python-pip
$PIP_INSTALL virtualenv
Run Code Online (Sandbox Code Playgroud)

还能够创建新的虚拟环境:

virtualenv .env
Run Code Online (Sandbox Code Playgroud)

但是,在运行如下命令之后:

. .env/bin/activate
Run Code Online (Sandbox Code Playgroud)

我有

-bash:.env/bin/activate:没有这样的文件或目录

查看文件夹后,.env/bin我发现只有一个python文件.这里的整个文件列表:

.env/lib:
python2.7

.env/include:
python2.7

.env/bin:
python
Run Code Online (Sandbox Code Playgroud)

这是什么问题?

解决方案添加--always-copy

virtualenv .env - always-copy

bash pip virtualenv python-2.7 ubuntu-14.04

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

将值分配给Pandas中的多个列

我遵循简单的DataFrame - df:

   0
0  1
1  2
2  3
Run Code Online (Sandbox Code Playgroud)

一旦我尝试创建新列并为它们分配一些值,如下例所示:

df['col2', 'col3'] = [(2,3), (2,3), (2,3)]
Run Code Online (Sandbox Code Playgroud)

我有以下结构

   0 (col2, col3)
0  1    (2, 3)
1  2    (2, 3)
2  3    (2, 3)
Run Code Online (Sandbox Code Playgroud)

但是,我正在寻找一种方法来获取:

   0 col2, col3
0  1    2,   3
1  2    2,   3
2  3    2,   3
Run Code Online (Sandbox Code Playgroud)

python series dataframe python-2.7 pandas

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

在Python字典中按嵌套字典排序

我有以下结构

{
    'searchResult' : [{
            'resultType' : 'station',
            'ranking' : 0.5
        }, {
            'resultType' : 'station',
            'ranking' : 0.35
        }, {
            'resultType' : 'station',
            'ranking' : 0.40
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

并希望得到

{
    'searchResult' : [{
            'resultType' : 'station',
            'ranking' : 0.5
        }, {
            'resultType' : 'station',
            'ranking' : 0.4
        }, {
            'resultType' : 'station',
            'ranking' : 0.35
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

尝试了代码没有成功

result = sorted(result.items(), key=lambda k: k[1][0][1]["ranking"], reverse=True)
Run Code Online (Sandbox Code Playgroud)

python sorting dictionary python-2.7

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

将JSON数据转换为单独的列

我有以下数据库结构:

ID  Name  Value
1   TV1   {"URL": "www.url.com", "Icon": "some_icon"}
2   TV2   {"URL": "www.url.com", "Icon": "some_icon", "Facebook": "Facebook_URL"}
3   TV3   {"URL": "www.url.com", "Icon": "some_icon", "Twitter": "Twitter_URL"}
..........
Run Code Online (Sandbox Code Playgroud)

我在寻找与SQL Server 2012的本地函数查询从列中提取的JSON Value,并动态地创建列,我想这样做的不同列数没有硬编码的列名name,icon,twitter,facebook.所以我想要的结果如下:

ID  Name  URL          Icon           Facebook      Twitter
1   TV1   www.url.com  some_icon          NULL         NULL
2   TV2   www.url.com  some_icon  Facebook_URL         NULL
3   TV3   www.url.com  some_icon          NULL  Twitter_URL
Run Code Online (Sandbox Code Playgroud)

如果使用本机SQL Server机制无法做到这一点,那么PostgreSQL可能会这样做,或者其他RMDBS

PS.我的问题不是在TSQL中重复Parse JSON.我需要找出解析行中异构json的方法

sql database sql-server json

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

使用列将NumPy数组转换为Pandas Dataframe

我想规范化我的分类和数值.

cols = df.columns.values.tolist()
df_num = df.drop(CAT_COLUMNS, axis=1)
df_num = df_num.as_matrix()
df_num = preprocessing.StandardScaler().fit_transform(df_num)

df.fillna('NA', inplace=True)
df_cat = df.T.to_dict().values()

vec_cat = DictVectorizer( sparse=False )
df_cat = vec_cat.fit_transform(df_cat)
Run Code Online (Sandbox Code Playgroud)

之后我需要将2个numpy数组组合回pandas数据帧,但是下面的方法对我来说不起作用.

mas = np.hstack((df_num, df_cat))
df = pd.DataFrame(data=mas, columns=cols)
Run Code Online (Sandbox Code Playgroud)

错误信息: ValueError: Shape of passed values is (475, 243), indices imply (83, 243)

还有一种方法:

columns = df.columns.values.tolist()
for col in columns:
    try:
        if col in CAT_COLUMNS:
            df[col] = pd.get_dummies(df[col])
        else:
            df[col] = df[col].apply(preprocessing.StandardScaler().fit)
    except Exception, err:
        print 'Column: %s and …
Run Code Online (Sandbox Code Playgroud)

python numpy python-2.7 pandas scikit-learn

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

如何在Python中优化MAPE代码?

我需要有一个MAPE函数,但是我无法在标准包中找到它......下面,我实现了这个函数.

def mape(actual, predict): 
    tmp, n = 0.0, 0
    for i in range(0, len(actual)):
        if actual[i] <> 0:
            tmp += math.fabs(actual[i]-predict[i])/actual[i]
            n += 1
    return (tmp/n)
Run Code Online (Sandbox Code Playgroud)

我不喜欢它,它在速度方面超级不理想.如何将代码重写为Pythonic方式并提高速度?

python statistics numpy machine-learning data-science

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

sklearn Pipeline 的并行化

我有一组 Pipelines,想要拥有多线程架构。我的典型 Pipeline 如下所示:

huber_pipe = Pipeline([
        ("DATA_CLEANER", DataCleaner()),
        ("DATA_ENCODING", Encoder(encoder_name='code')),
        ("SCALE", Normalizer()),
        ("FEATURE_SELECTION", huber_feature_selector),
        ("MODELLING", huber_model)
    ])
Run Code Online (Sandbox Code Playgroud)

是否可以在不同的线程或核心中运行管道的步骤?

python multithreading pipeline scikit-learn amazon-data-pipeline

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

如何使用 Pyinstaller 3.0 混淆 python 字节码

我试图弄清楚如何用 new 混淆 python 字节码PyInstaller

c:\Anaconda32\envs\myenv\Scripts\pyinstaller.exe --distpath=./dist/win32 --workpath=./build/win32 --uac-admin --uac-uiaccess --key=MYKEY app.spec

PyInstaller Exe Rebuilder然而,在构建之后,我仍然使用如下所示的方式破解源代码:

在此输入图像描述

python obfuscation pyinstaller python-2.7

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

在没有"零"值的情况下计算熊猫的最小值?

我有一个以下数据,需要在第一步找到min行之间没有的值0.00

HOME_48  HOME_24  HOME_12  HOME_03  HOME_01  HOME_00   HOME  
   0.00     1.54     2.02     1.84     1.84     1.84   1.84  
   0.00     1.47     1.76     1.89     2.56     2.56   2.56  
   0.00     2.02     2.50     2.56     1.89     1.92   1.92  
Run Code Online (Sandbox Code Playgroud)

后来我需要计算min和之间的delta-diff max,但是如果我使用下面的代码,那么最终结果是不可接受的

df['HOME_MIN'] = df.loc[:, COL_HOME].min(axis=1)
Run Code Online (Sandbox Code Playgroud)

我不想使用以下技巧:

df = df.replace(0, np.NaN)
Run Code Online (Sandbox Code Playgroud)

因为,有时极端值可能相等0.01,0.02- 这些也不是正确的值.

如何添加条件跳过0.00| 0.01值?

注意:正确的过滤器是

df[df[COL_HOME].min(axis=1) > 0.03].loc[:, COL_HOME].min(axis=1)
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

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

转换为 DMatrix 后,XGBoost 训练和测试特征的差异

只是想知道下一种情况怎么可能:

 def fit(self, train, target):
     xgtrain = xgb.DMatrix(train, label=target, missing=np.nan)
     self.model = xgb.train(self.params, xgtrain, self.num_rounds)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 我将训练数据集作为具有 5233 列的csr_matrix传递,在转换为 DMatrix 后,我得到了 5322 个特征。

后来在预测步骤中,由于上述错误,我收到了错误:(

 def predict(self, test):
     if not self.model:
         return -1
     xgtest = xgb.DMatrix(test)
     return self.model.predict(xgtest)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

错误:...训练数据没有以下字段:f5232

如何保证将训练/测试数据集正确转换为 DMatrix?

有没有机会在Python中使用类似于R的东西?

# get same columns for test/train sparse matrixes
col_order <- intersect(colnames(X_train_sparse), colnames(X_test_sparse))
X_train_sparse <- X_train_sparse[,col_order]
X_test_sparse <- X_test_sparse[,col_order]
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的方法不起作用:

def _normalize_columns(self):
    columns = (set(self.xgtest.feature_names) - set(self.xgtrain.feature_names)) | \
          (set(self.xgtrain.feature_names) - set(self.xgtest.feature_names))
    for item in columns:
        if …
Run Code Online (Sandbox Code Playgroud)

python numpy machine-learning python-2.7 xgboost

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

PySide2 和支持 addToJavaScriptWindowObject

我正在尝试将 PySide 应用程序版本 #1 移植到 PySide2,并努力寻找移植以下代码片段的解决方案:

class AppManager(QtCore.QObject):
    '''
    methods of AppObject will be available from javascript
    '''
    def __init__(self, webview):
        QtCore.QObject.__init__(self)


class WebView(QWebEngineView):
    def __init__(self, parent=None):
        QWebEngineView.__init__(self, parent)
        self.setPage(WebEnginePage(self))

    def contextMenuEvent(self, event):
        pass


class AppWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.view = WebView(self)
        self.page = self.view.page()
        self.app_manager = AppManager(self.view)
        self.page.mainFrame().addToJavaScriptWindowObject('app_manager', self.app_manager)
        # ERROR in above line !!!
Run Code Online (Sandbox Code Playgroud)

我在文档中找不到必须找到可能的修复方法

python python-3.x pyside2 qwebengineview qtwebchannel

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

从pandas和unicode错误创建h2o数据帧

如何安全地将pandas对象转换为h2o数据帧?

import h2o
import pandas as pd

df = pd.DataFrame({'col1': [1,1,2], 'col2': ['César Chávez Day', 'César Chávez Day', 'César Chávez Day']})
hf = h2o.H2OFrame(df)  #gives error
Run Code Online (Sandbox Code Playgroud)

UnicodeEncodeError:'ascii'编解码器无法编码位置4中的字符'\ xe9':序数不在范围内(128)

环境: Python 3.5,h2o 3.10.4.2

python unicode dataframe python-3.x h2o

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