我有一个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"))
它只占据了第一排。
- 为什么要这样做
- 有什么建议吗
编辑:添加上下文
我正在使用python中的tabula
模块来读取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。
取得了一些进展,但需要弄清楚为什么现在没有填充这些值。
EDIT:经过一些研究输出,pdf_read
是数据帧列表。
因此,对于第一个DataFrame
:
df = pdf_read[0]