【问题标题】:Converting 2d Matrix to Single row DataFrame While Keeping Elements as Integers将 2d 矩阵转换为单行 DataFrame,同时将元素保持为整数
【发布时间】:2019-05-22 02:15:01
【问题描述】:

我有一个关于将二维矩阵转换为单行数据框的问题。

例如,我有以下带有整数元素的矩阵(二维数组)

2d_array = [[0, 1, 1],[1, 0, 1],[1, 1, 0]]

有没有办法将其转换为如下所示的 DataFrame,并将每个元素保持为整数?

df = 
    0   1   2   3   4   5   6   7   8
0   0   1   1   1   0   1   1   1   0

我尝试先展平二维数组

flattened_array = 2d_array.flatten()

然后我使用 pandas.DataFrame

df = pandas.DataFrame(flatttened_array)

但结果给了我一个单列数据框,其中包含“numpy.float64”元素,如下所示:

df = 
   0
0  0.0
1  1.0
2  1.0
3  1.0
4  0.0
5  1.0
6  1.0
7  1.0
8  0.0

请帮忙。非常感谢!

汤米

【问题讨论】:

  • pd.DataFrame([array.flatten()])

标签: python pandas dataframe data-conversion


【解决方案1】:

添加[]

df = pd.DataFrame([flattened_array])
df
Out[297]: 
   0  1  2  3  4  5  6  7  8
0  0  1  1  1  0  1  1  1  0

【讨论】:

  • 只是好奇,你不厌倦回答这样简单的问题吗? ;)
  • @cs95 最近很无聊。 :-(
  • 它有效,非常感谢! @WeNYoBen 也感谢您对我之前的问题的帮助。我还在尝试捡熊猫
【解决方案2】:

也许你可以试试:

df[flatttened_array] = df[flatttened_array].astype(int)

【讨论】:

    【解决方案3】:

    另一种选择:

    pd.DataFrame(np.array(array).reshape(1,-1))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 2012-01-29
      • 1970-01-01
      相关资源
      最近更新 更多