[英]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.