簡體   English   中英

如何將 `numpy.hstack()` 與 `numpy.ndarray` 數據類型一起使用?

[英]How to use `numpy.hstack()` with `numpy.ndarray` data type?

我有一個numpy.DataFramedf有 3 列col_1col_2col_3 col_1中的數據是numpy.ndarray ,如下所示: array([ 0.216, -0.290, 0.349])

我如何使用 np.hstack() 來擴展DataFrame ,其中列由col_1中的每個數據點組成?

原裝DataFrame

                     col_1   col_2               col_3
------------------------------------------------------
0   [0.216, -0.290, 0.349]  NORMAL  N09_M07_F10_K001_1

假設 DataFrame

                 col_3  col_2     0      1     2
------------------------------------------------
0   N09_M07_F10_K001_1 NORMAL 0.216 -0.290 0.349

我試過這樣:

Supposed_DataFrame = pd.concat(
    [df[['label', 'filename']], 
     pd.DataFrame(np.hstack(df["signal"].values).T)
    ], 
    axis=1)

但 output 是:

                 col_3  col_2     0
-----------------------------------
0   N09_M07_F10_K001_1 NORMAL 0.216

任何更簡單的解決方案將不勝感激

看看這段代碼:

import pandas as pd

dict_ = {
    'col_1': [[0.216, -0.290, 0.349]],
    'col_2': 'NORMAL',
    'col_3': 'N09_M07_F10_K001_1'
        }
df2 = pd.DataFrame(dict_)

supposed_DataFrame = pd.concat([df2[['col_3', 'col_2']], pd.DataFrame(df2['col_1'].to_list(), columns=[0,1,2])], axis=1)
print (supposed_DataFrame)

方法2 :使用基本步驟:

row_1 = df2['col_1'][0]
for i in range(len(row_1)):
    df2[i] = row_1[i]

df2.drop('col_1', axis=1, inplace=True)

print(df2)

暫無
暫無

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

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