gpt4 book ai didi

python - 从 df.append 转换为 pd.concat 时,无法连接类型 '' 的对象

转载 作者:行者123 更新时间:2023-12-03 08:02:11 25 4
gpt4 key购买 nike

我有一个小解析器,正在将 RSS 提要 channel 收集到 pandas df。一切都按预期进行,但我得到了这个警告

The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead

经过一些研究,我将我的字典转换为列表,然后开始连接,但现在我得到了

type '<class 'list'>'; only Series and DataFrame objs are valid

如何重写我的 for 循环以获得预期结果

带有警告的工作代码

df = pd.DataFrame(columns = ['title', 'link'])

with response as r:
items = r.html.find('item', first=False)

for item in items:

title = item.find('title', first=True).text
link = item.find('guid', first=True).text

row = {'title': title, 'link': link}
df = df.append(row, ignore_index=True)

稍作修改,出现错误

df = pd.DataFrame(columns = ['title', 'link'])
tmp = []
with response as r:
items = r.html.find('item', first=False)

for item in items:
title = item.find('title', first=True).text
link = item.find('guid', first=True).text
row = [title, link]
tmp.append(row)

df = pd.concat(tmp)

最佳答案

pd.concat 用于连接两个或多个 pandas 对象。如果您已成功构建了包含数据的字典列表(您在tmp变量中),那么您可以使用默认的将其转换为数据帧>pd.DataFrame 构造函数:

df = pd.DataFrame(columns = ['title', 'link'])
tmp = []
with response as r:
items = r.html.find('item', first=False)

for item in items:
title = item.find('title', first=True).text
link = item.find('guid', first=True).text
row = {'title': title, 'link': link}
tmp.append(row)

df = pd.DataFrame(tmp)

关于python - 从 df.append 转换为 pd.concat 时,无法连接类型 '<class ' list'>' 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73731073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com