簡體   English   中英

將二維矩陣轉換為 python 中的 Dataframe

[英]Convert 2-D matrix into Dataframe in python

a = np.array([[5, 6, 7, 8],[5, 6, 7, 8]])

df = pd.DataFrame(a, columns=['a'])

ValueError:傳遞值的形狀為 (2, 4),索引暗示 (2, 1)

我希望最終的結果是:

a
-----------
[5, 6, 7, 8]
[5, 6, 7, 8] 

編輯:

    df = pd.DataFrame({"a": [a]})

    a
----------------------------------
0   [[5, 6, 7, 8], [5, 6, 7, 8]]

為什么?

根據https://stackoverflow.com/a/18646275/5405298 ,您必須將數組轉換為列表。 在您的情況下,您可以使用

import pandas as pd
import numpy as np

a = np.array([[5, 6, 7, 8], [5, 6, 7, 8]])
df = pd.DataFrame({"a": a.tolist()})
print(df)

這返回:

              a
---------------
0  [5, 6, 7, 8]
1  [5, 6, 7, 8]

將每個sub-array轉換為string ,你會得到你想要的。

>>>a = np.array([[5, 6, 7, 8],[5, 6, 7, 8]])
>>>df = pd.DataFrame([",".join([str(i) for i in j]) for j in a], columns=['a'])
>>>df
         a
0  5,6,7,8
1  5,6,7,8

暫無
暫無

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

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