相关疑难解决方法(0)

如何使类JSON可序列化

如何使Python类可序列化?

一个简单的课程:

class FileItem:
    def __init__(self, fname):
        self.fname = fname
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能得到输出:

>>> import json

>>> my_file = FileItem('/foo/bar')
>>> json.dumps(my_file)
TypeError: Object of type 'FileItem' is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

没有错误(__CODE__)

python serialization json

730
推荐指数
19
解决办法
61万
查看次数

Python List vs. Array - 何时使用?

如果要创建1d数组,可以将其实现为List,或者使用标准库中的"array"模块.我一直使用列表进行1d数组.

我想要使​​用阵列模块的原因或情况是什么?

它是用于性能和内存优化,还是我错过了一些明显的东西?

python arrays list

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

用Python读取.mat文件

有没有人在Python中阅读二进制Matlab .mat文件的成功经验?

(我已经看到有人loadmat()声称支持读取.mat文件,但是我没有成功.我安装了loadmat()0.7.0版,我找不到loadmat()方法)

python file-io matlab scipy mat-file

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

SimpleJSON和NumPy数组

使用simplejson序列化numpy数组的最有效方法是什么?

python json numpy simplejson

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

keras:如何保存培训历史记录

在Keras,我们可以将输出返回model.fit到历史记录,如下所示:

 history = model.fit(X_train, y_train, 
                     batch_size=batch_size, 
                     nb_epoch=nb_epoch,
                     validation_data=(X_test, y_test))
Run Code Online (Sandbox Code Playgroud)

现在,如何将历史记录保存到文件中以供进一步使用(例如,绘制针对时期的acc或loss的绘制图)?

python machine-learning neural-network deep-learning keras

39
推荐指数
6
解决办法
3万
查看次数

Python相当于R的dput()函数

python中的任何函数是否与R中的dput()函数类似?

python r

28
推荐指数
4
解决办法
1042
查看次数

使用matplotlib mpld3和LinkedBrush的Json序列化错误

http://mpld3.github.io/examples/linked_brush.htmlmpld3(matplotlibon d3)示例提供了以下代码示例:LinkedBrush

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

import mpld3
from mpld3 import plugins, utils


data = load_iris()
X = data.data
y = data.target

# dither the data for clearer plotting
X += 0.1 * np.random.random(X.shape)

fig, ax = plt.subplots(4, 4, sharex="col", sharey="row", figsize=(8, 8))
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95,
                    hspace=0.1, wspace=0.1)

for i in range(4):
    for j in range(4):
        points = ax[3 - i, j].scatter(X[:, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib mpld3

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

'ndarray'类型的对象不可JSON序列化

我是python和机器学习的新手。我有一个线性回归模型,该模型能够根据我转储以与Web服务一起使用的输入来预测输出。请参见下面的代码:

      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)

        regression_model = LinearRegression()
        regression_model.fit(X_train, y_train)
    print(regression_model.predict(np.array([[21, 0, 0, 0, 1, 0, 0, 1, 1, 1]]))) # this is returning my expected output

joblib.dump(regression_model, '../trainedModels/MyTrainedModel.pkl')
Run Code Online (Sandbox Code Playgroud)

使用flask我尝试将其公开为Web服务,如下所示:

 @app.route('/predict', methods=['POST'])
def predict():


    X = [[21, 0, 0, 0, 1, 0, 0, 1, 1, 1]]
    model = joblib.load('../trainedModels/MyTrainedModel.pkl')
    prediction = model.predict(np.array(X).tolist())
    return jsonify({'prediction': list(prediction)})
Run Code Online (Sandbox Code Playgroud)

但是它抛出以下异常

Object of type 'ndarray' is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

我试过了 NumPy数组不是JSON可序列化的

但仍然是相同的错误。我该如何解决这个问题

python numpy machine-learning flask scikit-learn

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

将 numpy 数组列表转换为 json 以从 Flask api 返回

我在 python 中有一个这样的字典:

mydic = {
    'x1': list_of_numpy_array,
    'x2': a numpy_array,
    'x3': a list_of_numpy_array,
    'x4': a list_of_numpy_array
}
Run Code Online (Sandbox Code Playgroud)

我想将此字典发送给flask-api调用此 api 的客户端。当我使用此代码时:

class GetRepresentationResource(Resource):
    url = 'representation'

    def get(self):
        # previous lines of my code which generates mydic
        return {
                'data': mydict,
                'err': ''
        }
Run Code Online (Sandbox Code Playgroud)

我得到错误: Is not serializeable

python serialization json numpy flask-restful

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

mpld3导致TypeError:'ndarray'类型的对象不是JSON可序列化的

如果我跑

    import pandas as pd
    import mpld3
    import seaborn as sns
    df = pd.DataFrame([(1,3),(2,-1)],columns= ['a','b'])
    plt.figure(figsize=(5,5))
    sns.regplot('a', 'b', df)
Run Code Online (Sandbox Code Playgroud)

工作良好.如果我加

    mpld3.enable_notebook()
Run Code Online (Sandbox Code Playgroud)

我得到错误:'ndarray'类型的对象不是JSON可序列化的

你对mpld3引起这种烦恼的原因有什么建议吗?

对于我能理解的内容,这不是NumPy数组中提出的问题不是JSON序列化 问题在我的问题中,我问的是如何使mpld3工作或至少不使其他一切都不起作用.

python mpld3

6
推荐指数
0
解决办法
2333
查看次数

将二维列表写入 JSON 文件

我有一个二维列表,如:

data = [[1,2,3], [2,3,4], [4,5,6]]
Run Code Online (Sandbox Code Playgroud)

我想像这样将它写入 JSON 文件:

{
    'data':[
        [1,2,3],
        [2,3,4],
        [4,5,6]
    ]
}
Run Code Online (Sandbox Code Playgroud)

我得到这个json.dumps(data, indent=4, sort_keys=True)

{
    'data':[
        [
         1,
         2,
         3
        ],
        [
         2,
         3,
         4
        ],
        [
         4,
         5,
         6]
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是另一个问题如何在使用 JSON 模块进行漂亮打印时实现自定义缩进?,但那是字典。

python json

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

将numpy.nd数组转换为json

我有一个数据框genre_rail,其中一列包含numpy.ndarray.数据框如下所示datframe

其中的数组如下所示:

['SINGTEL_movie_22906' 'SINGTEL_movie_22943' 'SINGTEL_movie_24404'
 'SINGTEL_movie_22924' 'SINGTEL_movie_22937' 'SINGTEL_movie_22900'
 'SINGTEL_movie_24416' 'SINGTEL_movie_24422']
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码

import json
json_content = json.dumps({'mydata': [genre_rail.iloc[i]['content_id'] for i in range(len(genre_rail))] })
Run Code Online (Sandbox Code Playgroud)

但是得到了一个错误

TypeError:数组不是JSON可序列化的

我需要输出为

{"Rail2_contend_id":
["SINGTEL_movie_22894","SINGTEL_movie_22898",
"SINGTEL_movie_22896","SINGTEL_movie_24609","SINGTEL_movie_2455",
"SINGTEL_movie_24550","SINGTEL_movie_24548","SINGTEL_movie_24546"]}
Run Code Online (Sandbox Code Playgroud)

python arrays json numpy

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

如何将带有 numpy 数组的字典转换为 json 并返回?

我正在学习 python 开发,我是 python 世界的新手,下面是我的字典,其值为 NumPy 数组,我想将其转换为 JSON,然后将其从 JSON 转换回带有 NumPy 数组的字典。实际上,我正在尝试使用 json.dumps() 对其进行转换,但它给了我一个错误:ndarray 类型的对象不是 JSON 可序列化的

{
  'chicken': array([5. , 4. , 3. , 2. , 1. , 0.5, 0. ]),
  'banana': array([4. , 3. , 2. , 1. , 0.5, 0. ]),
  'carrots': array([5. , 4. , 3. , 2. , 1. , 0.5, 0. ]),
  'turkey': array([5. , 4. , 3. , 2. , 1. , 0.5, 0. ]),
  'rice': array([3. , 2. , 1. , …
Run Code Online (Sandbox Code Playgroud)

python arrays json numpy

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