簡體   English   中英

將列表轉換為 Pandas 數據框中的 numpy 數組

[英]conversion of lists into a numpy array in pandas dataframe

我們有一個數據框,其中一列的元素是列表(討論不是關於是否應該這樣做)。 一個簡單的例子如下:

df = pd.DataFrame([[12,[123,234,234]], [14,[124,25,235]], [16,[1267,267,2345]]], columns = ['A', 'B'])

獲得:

在此處輸入圖片說明

這里的目標是將B列轉換為一個 numpy 數組,如下所示:

在此處輸入圖片說明 .

如果我要求熊貓將列轉換為數組:

df['B'].values

它返回一個列表數組,與上面的列表不同:

array([list([123, 234, 234]), list([124, 25, 235]),
   list([1267, 267, 2345])], dtype=object)

我們如何解決問題?

如果列表的長度總是相同,則可以創建嵌套列表,然后轉換為np.array

arr = np.array(df['B'].values.tolist())
#alternative
#arr = np.array(df['B'].tolist())
print (arr)
[[ 123  234  234]
 [ 124   25  235]
 [1267  267 2345]]

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM