小编ppa*_*ler的帖子

使用jackson删除JSON元素

我有一个特定的JSON节点,对应于导入org.codehaus.jackson.JsonNode,而不是导入org.codehaus.jackson.map.JsonNode.

[
    {
        "givenName": "Jim",
        "formattedName": "jimJackson",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "john",
        "formattedName": "johnLasher",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "carlos",
        "formattedName": "carlosAddner",
        "familyName": null,
        "middleName": "none",
        "honorifiPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "lisa",
        "formattedName": "lisaRay",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mrs",
        "honorificSuffix": "none"
    },
    {
        "givenName": "bradshaw",
        "formattedName": "bradshawLion",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "phill",
        "formattedName": "phillKane",
        "familyName": null,
        "middleName": …
Run Code Online (Sandbox Code Playgroud)

java json jackson

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

Pythonic方法用上限和下限(钳位,限幅,阈值)替换列表值?

我想从列表中替换outliners.因此我定义了上限和下限.现在,上面upper_bound和下面的每个值lower_bound都被绑定值替换.我的方法是使用numpy数组分两步完成.

现在我想知道是否可以一步完成,因为我猜它可以提高性能和可读性.

有没有更短的方法来做到这一点?

import numpy as np

lowerBound, upperBound = 3, 7

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

arr[arr > upperBound] = upperBound
arr[arr < lowerBound] = lowerBound

# [3 3 3 3 4 5 6 7 7 7]
print(arr)
Run Code Online (Sandbox Code Playgroud)

python arrays numpy clip clamp

21
推荐指数
2
解决办法
3195
查看次数

Scikit中的多变量/多元线性回归学习?

我在.csv文件中有一个数据集(dataTrain.csv和dataTest.csv),格式如下:

Temperature(K),Pressure(ATM),CompressibilityFactor(Z)
273.1,24.675,0.806677258
313.1,24.675,0.888394713
...,...,...
Run Code Online (Sandbox Code Playgroud)

并且能够使用以下代码构建回归模型和预测:

import pandas as pd
from sklearn import linear_model

dataTrain = pd.read_csv("dataTrain.csv")
dataTest = pd.read_csv("dataTest.csv")
# print df.head()

x_train = dataTrain['Temperature(K)'].reshape(-1,1)
y_train = dataTrain['CompressibilityFactor(Z)']

x_test = dataTest['Temperature(K)'].reshape(-1,1)
y_test = dataTest['CompressibilityFactor(Z)']

ols = linear_model.LinearRegression()
model = ols.fit(x_train, y_train)

print model.predict(x_test)[0:5]
Run Code Online (Sandbox Code Playgroud)

但是,我想要做的是多元回归.所以,模型将是CompressibilityFactor(Z) = intercept + coef*Temperature(K) + coef*Pressure(ATM)

如何在scikit-learn中做到这一点?

python pandas scikit-learn sklearn-pandas

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

将高于和低于阈值的列表值替换为Python中的默认值?

我正在尝试用默认值替换低于和高于阈值的“坏值”(例如将它们设置为 NaN)。 \n我正在取消具有 1000k 值及更多值的 numpy 数组 - 因此性能是一个问题。

\n\n

我的原型分两步进行操作,是否可以一步完成此操作?

\n\n
import numpy as np\n\ndata = np.array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])\n\nupper_threshold = 7\nlower_threshold = 1\ndefault_value = np.NaN\n\n# is it possible to do this in one expression?\ndata[data > upper_threshold] = default_value\ndata[data < lower_threshold] = default_value\n\nprint data # [ nan   1.   2.   3.   4.   5.   6.   7.  nan  nan]\n
Run Code Online (Sandbox Code Playgroud)\n\n

正如这个相关问题中所评论的(用上限和下限替换列表值的Pythonic way(钳制、剪裁、阈值处理)?

\n\n
\n

与许多其他函数一样,np.clip 是 python 的,但它遵循 arr.clip 方法。对于常规数组,该方法是编译的,因此速度会更快(大约 2 倍)。\xe2\x80\x93 hpaulj

\n …

python numpy

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

如何在python中检查datetime模块的版本?

我知道这个问题在其他图书馆被问过数百万次。然而,其他讨论中的答案都没有帮助。

我试过:

import datetime
print datetime.version

import datetime
print datetime._version_

import datetime
print datetime.__version__
Run Code Online (Sandbox Code Playgroud)

没有一个在工作。

它说

属性错误:AttributeError:“模块”对象没有属性“版本

其他人也一样。

这个库确实有版本:https : //pypi.python.org/pypi/DateTime

python

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

如果在python方法调用中参数为None,则使用默认参数

有点奇怪的问题,但是我在编码时偶然发现了这个问题。

这是我的代码

编辑:我添加了类以使我的结构更清晰

class Hidden(object):
    def x(self, aa, bb="John Doe"):
        print aa, bb

class Open(object):
    def __init__(self):
        self.h = Hidden()

    def y(self, a, b=None):
        # get rid of this if-else-foo
        if b is None:
            self.h.x(a)
        else:
            self.h.x(a, b)

o = Open()
o.y("Hello") # > Hello John Doe

o.y("Hello", "Mister X") # > Hello Mister X
Run Code Online (Sandbox Code Playgroud)

如果bNone(未设置),则我希望x不带参数的情况下调用方法(使用默认值)。

我想知道是否有办法摆脱if-else foo?

因为我只能接受一个答案,所以我可以说,所有列出的解决方案都有效。

这是给定答案的摘要:

  1. @邓肯:对我来说,这是实现我想要的最好的方法。
  2. @falsetru:这也是一种很好的方法,尽管我认为其中的方法*args很难阅读。
  3. @ peter-wood和@tgg:这两个版本都可以工作并保存3行代码。但是有一个if说法,我想避免。

python

5
推荐指数
3
解决办法
1953
查看次数

通过删除转义字符格式化从 URL 获取的 json 数据

我已从 url 获取 json 数据并将其写入文件名 urljson.json 我想格式化 json 数据,删除 '\' 和结果 [] 键以满足需求 在我的 json 文件中,数据排列如下

{\"result\":[{\"BldgID\":\"1006AVE \",\"BldgName\":\"100-6th Avenue SW (Oddfellows)          \",\"BldgCity\":\"Calgary             \",\"BldgState\":\"AB \",\"BldgZip\":\"T2G 2C4  \",\"BldgAddress1\":\"100-6th Avenue Southwest                \",\"BldgAddress2\":\"ZZZ None\",\"BldgPhone\":\"4035439600     \",\"BldgLandlord\":\"1006AV\",\"BldgLandlordName\":\"100-6 TH Avenue SW Inc.                                     \",\"BldgManager\":\"AVANDE\",\"BldgManagerName\":\"Alyssa Van de Vorst           \",\"BldgManagerType\":\"Internal\",\"BldgGLA\":\"34242\",\"BldgEntityID\":\"1006AVE \",\"BldgInactive\":\"N\",\"BldgPropType\":\"ZZZ None\",\"BldgPropTypeDesc\":\"ZZZ None\",\"BldgPropSubType\":\"ZZZ None\",\"BldgPropSubTypeDesc\":\"ZZZ None\",\"BldgRetailFlag\":\"N\",\"BldgEntityType\":\"REIT                     \",\"BldgCityName\":\"Calgary             \",\"BldgDistrictName\":\"Downtown            \",\"BldgRegionName\":\"Western Canada                                    \",\"BldgAccountantID\":\"KKAUN     \",\"BldgAccountantName\":\"Kendra Kaun                   \",\"BldgAccountantMgrID\":\"LVALIANT  \",\"BldgAccountantMgrName\":\"Lorretta Valiant                        \",\"BldgFASBStartDate\":\"2012-10-24\",\"BldgFASBStartDateStr\":\"2012-10-24\"}]}
Run Code Online (Sandbox Code Playgroud)

我想要这样的格式

[  
   {  
      "BldgID":"1006AVE",
      "BldgName":"100-6th Avenue SW (Oddfellows)          ",
      "BldgCity":"Calgary             ",
      "BldgState":"AB ",
      "BldgZip":"T2G 2C4  ",
      "BldgAddress1":"100-6th Avenue Southwest                ",
      "BldgAddress2":"ZZZ None",
      "BldgPhone":"4035439600     ", …
Run Code Online (Sandbox Code Playgroud)

python json

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

用 pandas 计算列的“能量”

pandas.DataFrame我尝试按照离散时间信号的公式计算信号能量。我尝试使用applyand applymap,也尝试使用reduce,如下所示:How do I columnwise reduce a pandas dataframe? 。但我尝试的所有结果都是对每个元素进行操作,而不是对整个列进行操作。

这不是一个信号处理特定的问题,它只是一个如何将“汇总”(我不知道这个的正确术语)函数应用于列的示例。

我的解决方法是获取原始numpy.array数据并进行计算。但我很确定有一种熊猫式的方法可以做到这一点(而且肯定是一种更笨拙的方法)。

import pandas as pd
import numpy as np

d = np.array([[2, 2, 2, 2, 2, 2, 2, 2, 2, 2],
              [0, -1, 2, -3, 4, -5, 6, -7, 8, -9],
              [0, 1, -2, 3, -4, 5, -6, 7, -8, 9]]).transpose()
df = pd.DataFrame(d)

energies = []

# a same as d
a = df.as_matrix()
assert(np.array_equal(a, d))

for …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

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

根据键列表拆分字典

我有一个包含eeg,陀螺仪和其他数据的数据字典。为了进行处理,我想在单独的字典中提取eeg和陀螺仪数据。因此,我有两个列表,分别带有eeg和陀螺仪的键。我通过两个dict理解使其工作,但也许对此有一个更平滑的解决方案。

eegKeys = ["FP3", "FP4"]
gyroKeys = ["X", "Y"]

# 'Foo' is ignored
data = {"FP3": 1, "FP4": 2, "X": 3, "Y": 4, "Foo": 5}

eegData = {x: data[x] for x in data if x in eegKeys}
gyroData = {x: data[x] for x in data if x in gyroKeys}

print(eegData, gyroData) # ({'FP4': 2, 'FP3': 1}, {'Y': 4, 'X': 3}) 
Run Code Online (Sandbox Code Playgroud)

python dictionary

4
推荐指数
3
解决办法
4004
查看次数

pip拒绝升级

我目前已经安装了pip 8.1.2.

所以我想将它升级到最新版本(9.0.1)并执行:

sudo pip install --upgrade pip


Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |????????????????????????????????| 1.3MB 846kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.2
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-8.1.2
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Run Code Online (Sandbox Code Playgroud)

它似乎正确下载9.0.1但它拒绝卸载现有安装(8.1.2)

然后最后它建议我使用我已经提供的相同的指令进行升级!

我做错了吗?

python ubuntu pip

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

标签 统计

python ×9

numpy ×3

json ×2

pandas ×2

arrays ×1

clamp ×1

clip ×1

dictionary ×1

jackson ×1

java ×1

pip ×1

scikit-learn ×1

sklearn-pandas ×1

ubuntu ×1