【问题标题】:Convert 3 two dimensional arrays to a dataframe将 3 个二维数组转换为数据框
【发布时间】:2019-01-06 13:57:02
【问题描述】:

我有 3 个二维数组都具有以下形状。

(1, 4339)

他们叫:

数组1

数组2

数组3

如何将它们放入数据框中,以便具有以下格式:

我认为类似以下的方法会起作用:

df = pd.concat([array1, array2, array3], axis=1)

但我收到以下错误消息:

TypeError:无法连接类型为“”的对象;仅 pd.Series、pd.DataFrame 和 pd.Panel (已弃用)objs 是有效的

【问题讨论】:

  • 尝试使用像 {'array1':array1, 'array2':array2,'array3':array3} 这样的字典,然后用 dict 初始化数据帧...

标签: python pandas dataframe


【解决方案1】:
import pandas as pd
df = pd.DataFrame({"a":arr1.reshape(4339),"b":arr2.reshape(4339),"c":arr3.reshape(4339)})

你可以用这个。

【讨论】:

    【解决方案2】:

    正如其他人所说,从头开始构建数据框。

    一个问题是原始数组的形状,看看如果您在原始数据上创建pd.Series(array1) 会发生什么。

    这是您可以使用基础来制作可重用函数的东西……

    a = np.arange(5).reshape((1,5))
    pd.DataFrame({k: a.flatten() for k, a in zip('abc', (a, a, a))})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 2018-02-19
      • 2014-11-02
      相关资源
      最近更新 更多