在開發的過程中遇到乙個問題,就是需要把numpy作為pandas的乙個元素進行儲存,注意不是作為一列元素。但是實踐的過程中卻不順利,會報錯,現在我解決了這個問題,並且把心得和理解分享出來,希望能幫到後來人。
1.新建一些偽資料,用於儲存
import numpy as np
l1 = [1,2,3,4]
l2 = [.1,.2,.3,.4]
lists = np.array([l1,l2])
labels = [1,0]
2.新建dataframe進行儲存並且顯示
df["list"] = lists
df["label"] = labels
print(df)
這時程式報錯:
raise exception('data must be 1-dimensional')錯誤出現在df["list"] = lists,錯誤的原因是lists不是一維資料(data must be 1-dimensional),為什麼會出現這個問題呢?exception: data must be 1-dimensional
原因在lists = np.array([l1,l2]),lists成為了二維的np.array,shape為(2,4)。
如何解決呢?需要把np.array轉為list,就變為一維資料了
3.修正**
import numpy as np
l1 = [1,2,3,4]
l2 = [.1,.2,.3,.4]
lists = np.array([l1,l2])
lists = list(lists)
labels = [1,0]
df = pd.dataframe()
df["list"] = lists
df["label"] = labels
print(df)
0 [1.0, 2.0, 3.0, 4.0] 1
1 [0.1, 0.2, 0.3, 0.4] 0
可能會有些朋友覺得**有些麻煩,為什麼先用np.array([l1,l2])轉換為np.array再用list(lists)轉換為list,其實這是為了模擬真實使用場景。一般我們接觸到的資料都是np.array,再儲存為pandas,就會報錯(data must be 1-dimensional),解決方法就是轉換為list。
numpy.array和list區別是什麼呢?後面我會通過乙個部落格來好好闡述一下。
pandas 如何儲存groupby函式的結果?
在使用pandas進行資料統計分析時,大家可能不知道如何儲存groupby函式的分組結果,我的解決方案如下 通過reset index 函式可以將groupby 的分組結果轉換成dataframe物件,這樣就可儲存了!舉例 out xlsx in f name group.xlsx df group...
開發技巧 Vue ls 本地儲存
vue ls是vue的外掛程式,用於從vue上下文中使用本地storage,會話storage和記憶體storage。它的github vue ls 使用前需要安裝 npm install vue ls 匯入vue ls import storage from vue ls options vue....
如何開發ORACLE儲存過程
在我的上乙個銀行專案中,我接到編寫oracle儲存過程的任務,我是程式設計師,腦袋裡只有一些如何使用callable介面呼叫儲存過程的經驗,一時不知如何下手,我查閱了一些資料,通過實踐發現編寫oracle儲存過程是非常不容易的工作,即使上路以後,除錯和驗證非常麻煩。簡單地講,oracle儲存過程就是...