1

我有一个 5 行 5 列的列表。

我正在尝试将此列表转换为数据框。

当我尝试这样做时,它只抓取第一行。

这失败了,因为我将它设置为 5,5:

df2 = pd.DataFrame(np.array(pdf_read).reshape(5,5),columns=list("abcde"))

当我把它切换到这个时:

df2 = pd.DataFrame(np.array(pdf_read).reshape(1,5),columns=list("abcde"))

它只抓住了第一排。

  1. 为什么这样做?
  2. 有什么建议吗?

编辑:添加上下文

我正在使用tabulapython 中的模块来读取 PDF 文件。PDF 文件结果存储在变量pdf_read.

当我这样做len(pdf_read)时,它的长度为 1,但是当我输入时 print(pdf_read)它说它是 5 行 x 5 列,这很奇怪。

编辑#2:数据类型

我运行了以下内容:

print(type(pdf_read))
print(type(pdf_read[0]))

我得到了<class 'list'><class 'pandas.core.frame.DataFrame'>分别。

似乎我在列表中有一个数据框。

我运行了这段代码:

df = pd.DataFrame(
    pdf_read[0],columns=["column_a","column_b","column_c","column_d","column_e"]
    )

这只是返回一个 5,5 数据框,但每列中的所有值都是 NaN。

取得了一些进展,但需要弄清楚为什么现在没有填充这些值。

4

1 回答 1

1

编辑:经过一些研究输出pdf_read是数据帧列表。

所以首先DataFrame

df = pdf_read[0]
于 2020-12-21T08:56:03.973 回答