熊猫追加无效

4 python pandas

datum = soup.findAll('a', {'class': 'result-title'})
for data in datum:
    print(data.text)
    print(data.get('href'))
    df = {'Title': data.text, 'Url': data.get('href')}
    houseitems.append(df, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

我的代码有什么问题?为什么当我要求提供房屋物品时,它给了我空的数据。

空数据框

Columns: [Title, Url, Price]
Index: []
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 28

问题是你需要分配回追加DataFrame,因为熊猫不是工作就地喜欢纯Python 。DataFrame.append append

似乎您想附加到list,因此ignore_index=True不需要参数:

循环解决方案:

houseitems = []
for data in datum:
    print(data.text)
    print(data.get('href'))
    df = {'Title': data.text, 'Url': data.get('href')}
    houseitems.append(df)
Run Code Online (Sandbox Code Playgroud)

或者list comprehension解决办法:

houseitems = [{'Title': data.text, 'Url': data.get('href')} for data in datum]
Run Code Online (Sandbox Code Playgroud)

然后创建DataFrame

df1 = pd.DataFrame(houseitems)
Run Code Online (Sandbox Code Playgroud)


小智 12

尝试修改代码中的行

houseitems.append(df, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

houseitems=houseitems.append(df, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

  • 哇。这是相当烦人的,他们会使用标准的 python 函数,但以不同于通常执行方式的方式。感谢您帮助我认识到这一点。 (7认同)