繁体   English   中英

我如何将列表转换为 python 数据框

[英]How do i convert list into python dataframe

我已经使用 for 循环从图像中提取文本。 所以我在将列表转换为 python pandas 数据帧时出错。

info = []
for item in dirs:
    if os.path.isfile(path+item):
        for a in x:
            img = Image.open(path+item)
            crop = img.crop(a)
            text = pytesseract.image_to_string(crop)
            info.append(text)
df = pd.DataFrame([info], colnames=['col1','col2'])
df

预期结果:数据按行存储在数据帧中。

是的列表不是两个项目的列表。 我有 14 个预定义的列。 这是 i in range(info) 的另一个代码:df.loc[i] = [ info for n in range(14))

请检查 .DataFrame https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html 的文档

您在其中创建数据框的行

df = pd.DataFrame([信息], colnames=['col1','col2']

最后缺少括号,使用列名而不是列,列表周围有不必要的方括号,并且正在创建两列,而您只需要一列。

请提及确切的错误

我认为这里有两个问题。

首先,尽管info已经是一个列表,但您正在传递给 DataFrame [info] 您可以按原样传递此列表。

现在您将项目列表作为参数传递,您正在尝试将该列表转换为具有两列的colnames=['col1','col2']colnames=['col1','col2'] 关键字是columns而不是colnames

我认为这就是问题所在。 您的列表不是两个项目列表的列表(如[[a, b], [c, d]] )。 只需使用:

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

最好的事物

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM