python:DataFrame.append 不附加元素

Posted

技术标签:

【中文标题】python:DataFrame.append 不附加元素【英文标题】:python: DataFrame.append does not append element 【发布时间】:2017-01-24 22:12:33 【问题描述】:

我正在使用 python 工作一周,我需要一些帮助。 我希望如果满足某些条件,它会为数据库添加一个值。 我的程序没有给出错误,但它没有将元素附加到我的数据库中

import pandas as pd
noTEU = pd.DataFrame() # empty database
index_TEU = 0
for vessel in list:
    if condition is fullfilled:
        imo_vessel = pd.DataFrame('imo': vessel, index=[index_TEU])   
        noTEU.append(imo_vessel) # I want here to add an element to my database
        index_TEU = index_TEU + 1

如果我运行它,最后我仍然会得到一个空数据框。我不知道为什么它不做我想做的事

【问题讨论】:

不是就地操作。试试noTEU = noTEU.append(imo_vessel) 我们对此有一个规范的问题吗?不是特定于附加,而是一般来说,对于返回新数据帧的方法? @ayhan 有很多问题都有相同的答案,但没有一个规范的问题,应该创建它,因为它会让人厌烦地解释这个 这里也有类似的问题:***.com/questions/16597265/… @ayhan:完全同意这一点。甚至文档也没有说明append 操作是否发生inplace 【参考方案1】:

您应该重新分配数据框,例如:

import pandas as pd
noTEU = pd.DataFrame() # empty database
index_TEU = 0
for vessel in list:
    if condition is fullfilled:
        imo_vessel = pd.DataFrame('imo': vessel, index=[index_TEU])   
        noTEU = noTEU.append(imo_vessel) # I want here to add an element to my database
        index_TEU = index_TEU + 1

并且不要将关键字 list 用于 List,因为它包含在 Python 语法中。

【讨论】:

以上是关于python:DataFrame.append 不附加元素的主要内容,如果未能解决你的问题,请参考以下文章

python中不可变的组合数据类型

python2.9与python2.11兼容不

Python 自学不求人

python不可变对象

python抓取pc不联网软件数据

“路径 python3(来自 --python=python3)不存在”错误