我在Pycharm有一个项目组织如下:
-- Sources
   |--__init__.py
   |--Calculators
      |--__init__.py
      |--Filters.py
   |--Controllers
      |--__init__.py
      |--FiltersController.py
   |--Viewers
      |--__init__.py
      |--DataVisualization.py
   |--Models
      |--__init__.py
      |--Data
Run Code Online (Sandbox Code Playgroud)
我的所有__init__.py,除了Sources上面的那个都是空白文件.我收到了很多类似的警告:
在__init__.py中找不到引用'xxx'
例如,我的FiltersController .py有这段代码:
import numpy.random as npr
bootstrap = npr.choice(image_base.data[max(0, x-2):x+3, max(0, y-2):y+3].flatten(), size=(3, 3), replace=True)
Run Code Online (Sandbox Code Playgroud)
我收到这个警告:
在__init__.py中找不到引用'choice'
我在谷歌上搜索这是什么意思,我应该怎么做才能在Python中正确编码.
先感谢您.
即使处理缺失值,我也面临多个变量的错误.例如:
le = preprocessing.LabelEncoder()
categorical = list(df.select_dtypes(include=['object']).columns.values)
for cat in categorical:
    print(cat)
    df[cat].fillna('UNK', inplace=True)
    df[cat] = le.fit_transform(df[cat])
#     print(le.classes_)
#     print(le.transform(le.classes_))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-24-424a0952f9d0> in <module>()
      4     print(cat)
      5     df[cat].fillna('UNK', inplace=True)
----> 6     df[cat] = le.fit_transform(df[cat].fillna('UNK'))
      7 #     print(le.classes_)
      8 #     print(le.transform(le.classes_))
C:\Users\paula.ceccon.ribeiro\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\preprocessing\label.py in fit_transform(self, y)
    129         y = column_or_1d(y, warn=True)
    130         _check_numpy_unicode_bug(y)
--> 131         self.classes_, y = np.unique(y, return_inverse=True)
    132         return y
    133 
C:\Users\paula.ceccon.ribeiro\AppData\Local\Continuum\Anaconda3\lib\site-packages\numpy\lib\arraysetops.py in unique(ar, return_index, return_inverse, return_counts)
    209 
    210     if optional_indices:
--> …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以使用scatterMatplotlib 的函数为每个点绘制单独的alpha值.我需要绘制一组点,每个点都有一个alpha值.
例如,我有这个代码来绘制一些点
def plot_singularities(points_x, p, alpha_point, file_path):
    plt.figure()
    plt.scatter(points_x, points_y, alpha=alpha_point)
    plt.savefig(file_path + '.png', dpi=100)
    plt.close()
Run Code Online (Sandbox Code Playgroud)
我所有的points_x,points_y并alpha_point有n个值.但是,我无法将数组分配给alpha参数scatter().如何为每个点设置不同的alpha值?我可以使用每个特定的alpha值循环和逐点绘制,但这似乎不是一个好方法.
我正在尝试读取如下所示的简单CSV文件,并将其内容放在2D数组中:
"","x","y","sim1","sim2","sim3","sim4","sim5","sim6","sim7","sim8","sim9","sim10","sim11","sim12"
"1",181180,333740,5.56588745117188,6.29487752914429,7.4835410118103,5.75873327255249,6.62183284759521,5.81478500366211,4.85671949386597,5.90418815612793,6.32611751556396,6.99649047851562,6.52076387405396,5.68944215774536
"2",181140,333700,6.36264753341675,6.5217604637146,6.16843748092651,5.55328798294067,7.00429201126099,6.43625402450562,6.17744159698486,6.72836923599243,6.38574266433716,6.81451606750488,6.68060827255249,6.14339065551758
"3",181180,333700,6.16541910171509,6.44704437255859,7.51744651794434,5.46270132064819,6.8890323638916,6.46842670440674,6.07698059082031,6.2140531539917,6.43774271011353,6.21923875808716,6.43355655670166,5.90692138671875
Run Code Online (Sandbox Code Playgroud)
为此,我使用这个:
data = np.loadtxt("Data/sim.csv", delimiter=',', skiprows=1)
Run Code Online (Sandbox Code Playgroud)
但我总是得到这样的信息:
"ValueError: could not convert string to float: "1"
Run Code Online (Sandbox Code Playgroud)
我认为问题出在每一行的第一列.所以,我试图在没有第一列的情况下阅读它,但我无法弄清楚如何.
那么,我怎么能忽略第一列呢?有没有办法用第一列读取此文件?
我只是试图用3D绘制曲面及其轮廓,就像在这个例子中一样.
这是我用来做的代码:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
from matplotlib import cm
import numpy
def plot_3d_contour(x_dim, y_dim, x_steps, y_steps, scalar_field, file_path):
    fig = plt.figure()
    x, y = numpy.mgrid[-x_dim/2:x_dim/2:x_steps*1j, -y_dim/2:y_dim/2:y_steps*1j]
    v_min = numpy.min(scalar_field)
    v_max = nupmy.max(scalar_field)
    ax = fig.gca(projection='3d')
    cset = ax.contourf(x, y, scalar_field, zdir='z', offset=v_min, cmap=cm.coolwarm)
    cset = ax.contourf(x, y, scalar_field, zdir='x', offset=-x_dim/2-1, cmap=cm.coolwarm)
    cset = ax.contourf(x, y, scalar_field, zdir='y', offset=y_dim/2+1, cmap=cm.coolwarm)
    ax.plot_surface(x, y, scalar_field, rstride=10, cstride=10, alpha=0.3)
    ax.set_xlabel('X')
    ax.set_xlim(-x_dim/2-1, x_dim/2+1)
    ax.set_ylabel('Y')
    ax.set_ylim(-y_dim/2-1, y_dim/2+1)
    ax.set_zlabel('Z')
    ax.set_zlim(v_min, …Run Code Online (Sandbox Code Playgroud) 我正在尝试显示散点图的颜色条,但我一直收到错误:
TypeError:首先必须set_array为mappable
这是我正在做的情节:
# Just plotting the values of data that are nonzero 
x_data = numpy.nonzero(data)[0] # x coordinates
y_data = numpy.nonzero(data)[1] # y coordinates
# Mapping the values to RGBA colors
data = plt.cm.jet(data[x_data, y_data])
pts = plt.scatter(x_data, y_data, marker='s', color=data)
plt.colorbar(pts)
Run Code Online (Sandbox Code Playgroud)
如果我评论这条线plt.colorbar(pts)我得到了正确的情节,但我也想绘制颜色条.
先感谢您.
我无法让我的Mac中的底图在Python中运行.
我一直收到:
    from mpl_toolkits.basemap import basemap
ImportError: No module named basemap
Run Code Online (Sandbox Code Playgroud)
我做了什么:
brew install gdal
brew install gets
export GEOS_DIR=/usr/local/Cellar/geos/3.4.2/
basemap-1.0.7 $ python setup.py install
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
basemap-1.0.7 $ cd geos-3.3.3
basemap-1.0.7/geos-3.3.3 $ export GEOS_DIR=~/
basemap-1.0.7/geos-3.3.3 $ ./configure --prefix=$GEOS_DIR
basemap-1.0.7/geos-3.3.3 $ make
basemap-1.0.7/geos-3.3.3 $ make install
basemap-1.0.7/geos-3.3.3 $ cd ..
basemap-1.0.7 $ python setup.py install
Run Code Online (Sandbox Code Playgroud)
他们都没有为我工作.如何让这个软件包在MacOS Sierra上运行?
我有一段代码来计算Helmholtz-Hodge分解.我一直在我的Mac OS Yosemite上运行,它运行得很好.然而,一个月前,我的Mac变得非常慢(它真的很旧),我选择购买新的笔记本电脑(Windows 8.1,戴尔).
在安装了所有Python库等之后,我继续我的工作运行相同的代码(在Git中版本化).然后结果非常奇怪,与旧笔记本中获得的结果完全不同.
例如,我所做的是构造矩阵a和b(非常长的微积分)然后我称之为求解器:
s = numpy.linalg.solve(a, b)
Run Code Online (Sandbox Code Playgroud)
这是返回a(错误,并且在我的Mac中获得的结果不同,这是正确的).
然后,我尝试使用:
s = scipy.linalg.solve(a, b)
Run Code Online (Sandbox Code Playgroud)
程序以代码0退出,但在其中间.然后,我做了一个简单的测试:
print 'here1'
s = scipy.linalg.solve(a, b)
print 'here2'
Run Code Online (Sandbox Code Playgroud)
并且here2从未打印过.
我试过了:
print 'here1'
x, info = numpy.linalg.cg(a, b)
print 'here2'
Run Code Online (Sandbox Code Playgroud)
同样的事情发生了.
使用后我也尝试检查解决方案numpy.linalg.solve:
print numpy.allclose(numpy.dot(a, s), b)
Run Code Online (Sandbox Code Playgroud)
我有一个False(?!).
我不知道发生了什么,如何找到解决方案,我只知道在我的Mac上运行相同的代码,但如果我可以在其他平台上运行它会非常好.现在我陷入了这个问题(不再使用Mac)并且没有任何关于原因的线索.
最奇怪的是,我没有收到运行时警告的任何错误,根本没有反馈.
感谢您的任何帮助.
编辑:
Numpy Suit测试结果:

Scipy Suit测试结果:

我只是想知道如何在不使用循环的情况下做这样的事情.
我做了一个简单的测试试图调用一个分区,就像我们使用numpy.array一样,但我得到了相同的ndarray.
N = 2
M = 3
matrix_a = np.array([[15., 27., 360.],
            [180., 265., 79.]])
matrix_b = np.array([[.5, 1., .3], 
            [.25, .7, .4]])
matrix_c = np.zeros((N, M), float)
n_size = 360./N
m_size = 1./M
for i in range(N):
    for j in range(M):
        n = int(matrix_a[i][j] / n_size) % N
        m = int(matrix_b[i][j] / m_size) % M
        matrix_c[n][m] += 1 
matrix_c / (N * M)
print matrix_c  
Run Code Online (Sandbox Code Playgroud)
我想这应该很简单.任何帮助,将不胜感激.
尝试将数组分配给另一个阵列特定位置时,我收到此错误.我在创建简单列表和执行此类任务之前就这样做了.但是Numpy比简单列表更快,我现在正试图使用它.
问题是因为我有一个存储一些数据的2D数组,并且在我的代码中,我有例如计算每个位置值的渐变,所以我创建了另一个2D数组,其中每个位置存储其值的渐变.
import numpy as np
cols = 2
rows = 3
# This works
matrix_a = []
for i in range(rows):
    matrix_a.append([0.0] * cols)
print matrix_a    
matrix_a[0][0] = np.matrix([[0], [0]])    
print matrix_a
# This doesn't work
matrix_b = np.zeros((rows, cols)) 
print matrix_b   
matrix_b[0, 0] = np.matrix([[0], [0]])
Run Code Online (Sandbox Code Playgroud)
会发生什么'因为我有一个定义np.zeros((rows,cols))对象的类,它存储有关某些数据的信息,简化了例如图像数据.
class Data2D(object):
    def __init__(self, rows=200, cols=300):
        self.cols = cols
        self.rows = rows
        # The 2D data structure
        self.data = np.zeros((rows, cols))
Run Code Online (Sandbox Code Playgroud)
在一个特定的方法中,我必须计算这个数据的梯度,这是一个2 x 2矩阵(原因我想使用ndarray,而不是一个简单的数组),为此,我创建了另一个实例此对象存储此新数据,其中每个点(像素)应存储其渐变.我使用的是简单的列表,但是我可以通过numpy获得一些性能.
有办法解决这个问题吗?或者更好的方法来做这样的事情?我知道我可以将数组类型定义为 …
python ×10
numpy ×4
matplotlib ×3
macos ×2
alpha ×1
arrays ×1
coding-style ×1
colorbar ×1
contourf ×1
csv ×1
division ×1
matrix ×1
mplot3d ×1
pandas ×1
plot ×1
pycharm ×1
reference ×1
scatter-plot ×1
scikit-learn ×1
windows ×1