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 不附加元素的主要内容,如果未能解决你的问题,请参考以下文章