小编Li *_*ing的帖子

将二维列表写入 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
查看次数

NetCDF 文件中的写入次数

使用 NETCDF4 包时,在 netCDF 文件中写入次数。

dates = []
for iday in range(84):
    dates.append(datetime.datetime(2016, 10, 1) + atetime.timedelta(hours = iday))
times[:] = date2num(dates, units=times.units, calendar = imes.calendar)
# print times[:]
for ii, i in enumerate(times[:]):
    print i, num2date(i, units=times.units), dates[ii]
Run Code Online (Sandbox Code Playgroud)

时机是正确的:

dates = []
for iday in range(84):
    dates.append(datetime.datetime(2016, 10, 1) + atetime.timedelta(hours = iday))
times[:] = date2num(dates, units=times.units, calendar = imes.calendar)
# print times[:]
for ii, i in enumerate(times[:]):
    print i, num2date(i, units=times.units), dates[ii]
Run Code Online (Sandbox Code Playgroud)

但是在读取 netcdf 文件时:

input_file = '/home/lovechang/test.nc' …
Run Code Online (Sandbox Code Playgroud)

python netcdf

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

与sklearn距离算法混淆

虽然我想在 KNeighborsClassifier 中使用标准的欧几里得度量。

knn = KNeighborsRegressor(n_neighbors=k,metric='seuclidean' )
knn.fit(newx,y)
Run Code Online (Sandbox Code Playgroud)

和显示的类型错误:

C:\Anaconda3\lib\site-packages\sklearn\neighbors\base.py in fit(self, X, y)
    741             X, y = check_X_y(X, y, "csr", multi_output=True)
    742         self._y = y
--> 743         return self._fit(X)
    744 
    745 

C:\Anaconda3\lib\site-packages\sklearn\neighbors\base.py in _fit(self, X)
    238             self._tree = BallTree(X, self.leaf_size,
    239                                   metric=self.effective_metric_,
--> 240                                   **self.effective_metric_params_)
    241         elif self._fit_method == 'kd_tree':
    242             self._tree = KDTree(X, self.leaf_size,

sklearn\neighbors\binary_tree.pxi in sklearn.neighbors.ball_tree.BinaryTree.__init__ (sklearn\neighbors\ball_tree.c:9220)()

sklearn\neighbors\dist_metrics.pyx in sklearn.neighbors.dist_metrics.DistanceMetric.get_metric (sklearn\neighbors\dist_metrics.c:4821)()

sklearn\neighbors\dist_metrics.pyx in sklearn.neighbors.dist_metrics.SEuclideanDistance.__init__ (sklearn\neighbors\dist_metrics.c:6399)()

TypeError: __init__() takes exactly 1 positional argument (0 given)
Run Code Online (Sandbox Code Playgroud)

我只是输入我自己的函数来实现 knn 像: …

python machine-learning euclidean-distance scikit-learn

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