簡體   English   中英

TypeError:無法將數組數據從 dtype('float64) 轉換為 dtype(' <u32') according to safe rule< div><div id="text_translate"><pre> class SigmoidNeuron: def __init__(self): self.w=None self.b=None def perceptron(self,x): return np.dot(x,self.wT)+self.b def sigmoid(self,x): return 1.0/(1.0+np.exp(-x)) def grad_w(self,x,y): y_pred = self.sigmoid(self.perceptron(x)) return (y_pred-y)*y_pred*(1-y_pred)*x def grad_b(self,x,y): y_pred = self.sigmoid(self.perceptron(x)) return (y_pred-y)*y_pred*(1-y_pred) def fit(self,x,y,epochs=1,learning_rate=1,initialise=True): #initialise w,b if initialise: self.w=np.random.randn(1,X.shape[1]) self.b=0 for i in range(epochs): dw=0 db=0 for x,y in zip(X,Y): dw+=self.grad_w(x,y) db+=self.grad_b(x,y) self.w -= learning_rate*dw self.b -= learning_rate*db</pre><pre> `</pre><p> 我正在運行一個 sigmoid 神經網絡代碼,並且在使用數據運行此 class 時出現錯誤</p><pre>X_scaled_train.astype(float) array([[ 1.29929126, -0.90185206, 0.03173306, ..., -0.14142136, -0.15523011, 0.21232515], [-1.16225208, -0.86697607, 1.03451971, ..., -0.14142136, -0.15523011, 0.21232515], [ 1.77523922, 0.65594214, 0.03173306, ..., -0.14142136, -0.15523011, 0.21232515], ..., [ 1.44058831, -0.58796815, -0.66464655, ..., -0.14142136, -0.15523011, 0.21232515], [-1.42253612, 0.50481285, 1.54984063, ..., -0.14142136, -0.15523011, 0.21232515], [ 1.06875397, 0.6791928, 0.97880934, ..., -0.14142136, -0.15523011, 0.21232515]])</pre><pre> Y_scaled_train.astype(float) array([[0.68], [0.72], [0.72], [0.6 ], [0.8 ], [0.64], [0.68],</pre><p> 這些是我在運行這條線時訓練集的數據 sn.fit(X_scaled_train,Y_scaled_train,epochs=10,learning_rate=0.2) 我收到了那個類型錯誤我應該怎么做才能刪除它</p><p>錯誤顯示</p><pre>TypeError Traceback (most recent call last) &lt;ipython-input-167-51016d58d1f5&gt; in &lt;module&gt;() ----&gt; 1 sn.fit(X_scaled_train,Y_scaled_train,epochs=10,learning_rate=0.2) 2 frames &lt;ipython-input-25-2e09637c6d09&gt; in perceptron(self, x) 4 self.b=None 5 def perceptron(self,x): ----&gt; 6 return np.dot(x,self.wT)+self.b 7 def sigmoid(self,x): 8 return 1.0/(1.0+np.exp(-x)) &lt;__array_function__ internals&gt; in dot(*args, **kwargs) TypeError: Cannot cast array data from dtype('float64') to dtype('&lt;U32') according to the rule 'safe'</pre></div></u32')>

[英]TypeError: cannot cast array data from dtype('float64) to dtype('<U32') according to safe rule

class SigmoidNeuron:
    def __init__(self):
        self.w=None
        self.b=None
    def perceptron(self,x):
        return np.dot(x,self.w.T)+self.b
    def sigmoid(self,x):
        return 1.0/(1.0+np.exp(-x))
    def grad_w(self,x,y):
        y_pred = self.sigmoid(self.perceptron(x))
        return (y_pred-y)*y_pred*(1-y_pred)*x
    def grad_b(self,x,y):
        y_pred = self.sigmoid(self.perceptron(x))
        return (y_pred-y)*y_pred*(1-y_pred)
    def fit(self,x,y,epochs=1,learning_rate=1,initialise=True):
        #initialise w,b
        if initialise: 
            self.w=np.random.randn(1,X.shape[1])
            self.b=0

        for i in range(epochs):
            dw=0
            db=0
            for x,y in zip(X,Y):
                dw+=self.grad_w(x,y)
                db+=self.grad_b(x,y)
            self.w -= learning_rate*dw
            self.b -= learning_rate*db
`

我正在運行一個 sigmoid 神經網絡代碼,並且在使用數據運行此 class 時出現錯誤

X_scaled_train.astype(float)

array([[ 1.29929126, -0.90185206,  0.03173306, ..., -0.14142136,
        -0.15523011,  0.21232515],
       [-1.16225208, -0.86697607,  1.03451971, ..., -0.14142136,
        -0.15523011,  0.21232515],
       [ 1.77523922,  0.65594214,  0.03173306, ..., -0.14142136,
        -0.15523011,  0.21232515],
       ...,
       [ 1.44058831, -0.58796815, -0.66464655, ..., -0.14142136,
        -0.15523011,  0.21232515],
       [-1.42253612,  0.50481285,  1.54984063, ..., -0.14142136,
        -0.15523011,  0.21232515],
       [ 1.06875397,  0.6791928 ,  0.97880934, ..., -0.14142136,
        -0.15523011,  0.21232515]])
Y_scaled_train.astype(float)
array([[0.68],
       [0.72],
       [0.72],
       [0.6 ],
       [0.8 ],
       [0.64],
       [0.68],


這些是我在運行這條線時訓練集的數據 sn.fit(X_scaled_train,Y_scaled_train,epochs=10,learning_rate=0.2) 我收到了那個類型錯誤我應該怎么做才能刪除它

錯誤顯示

TypeError                                 Traceback (most recent call last)
<ipython-input-167-51016d58d1f5> in <module>()
----> 1 sn.fit(X_scaled_train,Y_scaled_train,epochs=10,learning_rate=0.2)

2 frames
<ipython-input-25-2e09637c6d09> in perceptron(self, x)
      4         self.b=None
      5     def perceptron(self,x):
----> 6         return np.dot(x,self.w.T)+self.b
      7     def sigmoid(self,x):
      8         return 1.0/(1.0+np.exp(-x))

<__array_function__ internals> in dot(*args, **kwargs)

TypeError: Cannot cast array data from dtype('float64') to dtype('<U32') according to the rule 'safe'

利用:

np.array(your_list)

your_list.values.astype(np.float)

或者:

new_list = [float(i) for i in your_list]

或者:

對於巨大的 arrays,我強烈建議您使用 numpy:

np.array(your_list, dtype=np.float32)
np.array(your_list,dtype=float)

如果它是浮點數,則不必指定:

np.array(your_list)

或者:

new_list = float("{:.1f}".format(float(input())))
list.append(new_list)

cut function:無法將數組數據從 dtype('float64') 轉換為 dtype(' <u32') according to the rule 'safe'< div><div id="text_translate"><p> 我想將 Dataframe 的列中的內容更改為“好”或“壞”。 該列填充了從 1 到 10 的數字。1-5 是壞的,6-10 是好的。 為此,我想使用 cut 方法。</p><pre> bins = (1, 5.5, 10) rating = ['bad', 'good'] game['useropinion'] = pd.cut(rating, bins)</pre><p> 運行后的結果:</p><pre> Cannot cast array data from dtype('float64') to dtype('&lt;U32') according to the rule 'safe'</pre><p> 怎么了? 我如何解決它?</p></div></u32')>

[英]cut function : Cannot cast array data from dtype('float64') to dtype('<U32') according to the rule 'safe'

(Python) Pivot 表 - 無法將數組數據從 dtype('float64) 轉換為 dtype(' <u32') according to safe rule< div><div id="text_translate"><p> 在制作 pivot 表時,我遇到了轉換數組數據錯誤的問題。 我已經徹底檢查了所有組件都是float64。 但是錯誤仍然存在。 我的代碼片段轉載如下:</p><pre> bins_array=np.asarray(bins_list,dtype = np.float64) Genesis_file['PASS_DATE']=np.round(((date_rp-Genesis_file['VALUE_DATE']).dt.days)/365,1) temp_file=Genesis_file.pivot_table(values ='ACY_CURR_BALANCE_2021.03.19',index = pd.cut('CM_MIS_Y',bins = bins_array), columns = pd.cut('PASS_DATE',bins = bins_array),fill_value = 0.0, aggfunc = 'sum', dropna = False) &gt;&gt;&gt;TypeError: Cannot cast array data from dtype('float64') to dtype('&lt;U32') according to the rule 'safe'</pre><pre> Genesis_file['ACY_CURR_BALANCE_2021.03.19'].dtypes &gt;&gt;&gt;dtype('float64') Genesis_file['CM_MIS_Y'].dtypes &gt;&gt;&gt;dtype('float64') Genesis_file['PASS_DATE'].dtypes &gt;&gt;&gt;dtype('float64')</pre><p> 所有列都是float64; 但是 ['ACY_CURR_BALANCE_2021.03.19'] 列沒有四舍五入; ['CM_MIS_Y'] 和 ['PASS_DATE'] 舍入到小數點后 1 位(希望信息有所幫助!)</p><p> 非常感謝!</p></div></u32')>

[英](Python) Pivot table- cannot cast array data from dtype('float64) to dtype('<U32') according to safe rule

無法從 dtype(&#39;

[英]Cannot cast array data from dtype('<M8[ns]') to dtype('float64') according to the rule 'safe'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 Matplotlib錯誤TypeError:無法將數組數據從dtype(&#39;float64&#39;)轉換為dtype(&#39; cut function:無法將數組數據從 dtype('float64') 轉換為 dtype(' <u32') according to the rule 'safe'< div><div id="text_translate"><p> 我想將 Dataframe 的列中的內容更改為“好”或“壞”。 該列填充了從 1 到 10 的數字。1-5 是壞的,6-10 是好的。 為此,我想使用 cut 方法。</p><pre> bins = (1, 5.5, 10) rating = ['bad', 'good'] game['useropinion'] = pd.cut(rating, bins)</pre><p> 運行后的結果:</p><pre> Cannot cast array data from dtype('float64') to dtype('&lt;U32') according to the rule 'safe'</pre><p> 怎么了? 我如何解決它?</p></div></u32')> (Python) Pivot 表 - 無法將數組數據從 dtype('float64) 轉換為 dtype(' <u32') according to safe rule< div><div id="text_translate"><p> 在制作 pivot 表時,我遇到了轉換數組數據錯誤的問題。 我已經徹底檢查了所有組件都是float64。 但是錯誤仍然存在。 我的代碼片段轉載如下:</p><pre> bins_array=np.asarray(bins_list,dtype = np.float64) Genesis_file['PASS_DATE']=np.round(((date_rp-Genesis_file['VALUE_DATE']).dt.days)/365,1) temp_file=Genesis_file.pivot_table(values ='ACY_CURR_BALANCE_2021.03.19',index = pd.cut('CM_MIS_Y',bins = bins_array), columns = pd.cut('PASS_DATE',bins = bins_array),fill_value = 0.0, aggfunc = 'sum', dropna = False) &gt;&gt;&gt;TypeError: Cannot cast array data from dtype('float64') to dtype('&lt;U32') according to the rule 'safe'</pre><pre> Genesis_file['ACY_CURR_BALANCE_2021.03.19'].dtypes &gt;&gt;&gt;dtype('float64') Genesis_file['CM_MIS_Y'].dtypes &gt;&gt;&gt;dtype('float64') Genesis_file['PASS_DATE'].dtypes &gt;&gt;&gt;dtype('float64')</pre><p> 所有列都是float64; 但是 ['ACY_CURR_BALANCE_2021.03.19'] 列沒有四舍五入; ['CM_MIS_Y'] 和 ['PASS_DATE'] 舍入到小數點后 1 位(希望信息有所幫助!)</p><p> 非常感謝!</p></div></u32')> TypeError:無法從dtype(&#39; 根據規則&#39;safe&#39;,無法將數組數據從dtype(&#39;float64&#39;)轉換為dtype(&#39;int32&#39;) 類型錯誤:無法根據規則“安全”將數組數據從 dtype(&#39;O&#39;) 轉換為 dtype(&#39;float64&#39;) Numpy.dot TypeError:根據規則&#39;safe&#39;,無法將數組數據從dtype(&#39;float64&#39;)轉換為dtype(&#39;S32&#39;) 無法從 dtype(&#39; 無法根據規則“安全”將數組數據從 dtype(&#39;O&#39;) 轉換為 dtype(&#39;float64&#39;) 無法根據規則“安全”將數組數據從dtype(&#39;complex128&#39;)強制轉換為dtype(&#39;float64&#39;)
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM