我有一个由七个重叠圆和椭圆组成的簇,我正在尝试将它组合成一个形状,但是当我运行cascaded_union()时,我得到错误:ValueError:No可以从null值创建Shapely几何
这是我到目前为止所写的内容:
ValueError: No Shapely geometry can be created from null value
Run Code Online (Sandbox Code Playgroud)
我的目标是获得右图所示的内容, http://toblerity.org/shapely/code/cascaded_union.png ,其余的代码将确定随机分布中有多少点落在不规则的边界内形状.当它返回"空值"注释时,我对错误引用的内容感到困惑.我是不是以正确的方式考虑了各个形状的重叠?从我搜索过的内容来看,已经cascaded_union接受了一系列形状的输入,但由于某些原因,在这种情况下不起作用.
我需要不断添加数字到预先排序的列表:
for num in numberList:
list.append(num)
list.sort()
Run Code Online (Sandbox Code Playgroud)
每次迭代都很短,但是当给定的numberList包含数万个值时,此方法会减慢速度.是否有更高效的可用功能使列表保持不变并找出插入新数字的索引以保持正确的数字顺序?我尝试写的任何东西都需要比.sort()更长的时间
我有一个 csv 太大而无法一次读入内存,所以我想把它分块并一块一块地安装一个 keras 模型。我想我误解了 fit_generator 函数的工作原理,因为StopIteration即使chunksize&steps_per_epoch正确地说明了我的 csv 中有多少行,我仍然不断收到错误。
代码:
import pandas as pd
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Dropout
np.random.seed(26)
x_train_generator = pd.read_csv('X_train.csv', header=None, chunksize=150000)
y_train_generator = pd.read_csv('Y_train.csv', header=None, chunksize=150000)
x_test_generator = pd.read_csv('X_test.csv', header=None, chunksize=50000)
y_test_generator = pd.read_csv('Y_test.csv', header=None, chunksize=50000)
model = Sequential()
model.add(Dense(500, input_dim=1132, activation='tanh'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', metrics=['accuracy'],
optimizer='adam')
model.fit_generator((x_train_generator.get_chunk().as_matrix(),
y_train_generator.get_chunk().as_matrix()),
steps_per_epoch=37,
epochs=1,
verbose=2,
validation_data=(x_test_generator.get_chunk().as_matrix(),
y_test_generator.get_chunk().as_matrix()),
validation_steps=37
)
Run Code Online (Sandbox Code Playgroud)
错误输出:
Exception in thread Thread-107:
Traceback …Run Code Online (Sandbox Code Playgroud) 我有一个庞大的数据集,我需要将图分成网格并计算每个网格方块内的点数。我正在遵循此处概述的方法:
下面是我的代码的精简版本:
import numpy as np
import matplotlib.pyplot as plt
x = [ 1.83259571, 1.76278254, 1.38753676, 1.6406095, 1.34390352, 1.23045712, 1.85877565, 1.26536371, 0.97738438]
y = [ 0.04363323, 0.05235988, 0.09599311, 0.10471976, 0.1134464, 0.13962634, 0.17453293, 0.20943951, 0.23561945]
gridx = np.linspace(min(x),max(x),11)
gridy = np.linspace(min(y),max(y),11)
grid, _, _ = np.histogram2d(x, y, bins=[gridx, gridy])
plt.figure()
plt.plot(x, y, 'ro')
plt.grid(True)
plt.figure()
plt.pcolormesh(gridx, gridy, grid)
plt.plot(x, y, 'ro')
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)
出现问题的地方是网格将绘图的元素识别为点出现的位置,但其中一些元素中没有点;同样,当出现一些实际数据点时,网格不会将它们识别为实际上不存在。
可能是什么原因导致这个问题?另外,很抱歉没有附上剧情,我是新用户,我的声誉还不够高。
更新 这是生成 100 个随机点并尝试将它们绘制在二维直方图中的代码:
import numpy as np
import matplotlib.pyplot as plt
x = …Run Code Online (Sandbox Code Playgroud) 假设我有一个函数可以读取 .txt 文件并根据该文件中的数据列创建数组。我现在在函数中的内容如下所示:
data = open("some_file_name.txt","r")
Run Code Online (Sandbox Code Playgroud)
但是如果我想更改函数读取的 .txt 文件,我必须手动进入代码并在再次运行之前输入新文件名。相反,我如何将任何文件名传递给函数,使其看起来像:
my_function(/filepath/some_file_name.txt):
data = open("specified_file_name.txt","r")
Run Code Online (Sandbox Code Playgroud)