首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas .append()方法的好替代品,现在它已经被废弃了吗?

Pandas .append()方法的好替代品,现在它已经被废弃了吗?
EN

Stack Overflow用户
提问于 2022-01-24 16:46:44
回答 7查看 78.3K关注 0票数 85

我经常使用下面的方法将一行附加到dataframe。我真正喜欢它的一件事是,它允许您附加一个简单的dict对象。例如:

代码语言:javascript
复制
# Creating an empty dataframe
df = pd.DataFrame(columns=['a', 'b'])

# Appending a row
df = df.append({ 'a': 1, 'b': 2 }, ignore_index=True)

同样,我最喜欢的是,代码非常干净,只需要很少的行。现在,我想建议的备选方案是:

代码语言:javascript
复制
# Create the new row as its own dataframe
df_new_row = pd.DataFrame({ 'a': [1], 'b': [2] })
df = pd.concat([df, df_new_row])

所以,以前的一行代码现在是两行,带有一个抛出的变量和额外的cruft,在这里我创建了新的dataframe。:(有什么好的方法可以像我过去那样使用一个小词(这不是反对的)吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2022-01-24 16:57:45

如果需要的话,用字典创建一个列表,然后用df = pd.DataFrame.from_records(your_list)创建一个新的数据格式。List的“追加”方法非常有效,不会被废弃。另一方面,由于数据的设计,常常需要重新创建数据,并将所有数据复制到附件中--这就是为什么它们不推荐使用这种方法。

票数 42
EN

Stack Overflow用户

发布于 2022-03-08 13:45:16

我也喜欢附加方法。但是你可以用一串数据来做这件事

代码语言:javascript
复制
df = pd.concat([df, pd.DataFrame.from_records([{ 'a': 1, 'b': 2 }])])

或对具有增量上升索引的DataFrames上的值使用loc和元组。

代码语言:javascript
复制
df.loc[len(df), ['a','b']] = 1, 2

或者也许

代码语言:javascript
复制
df.loc[len(df), df.columns] = 3, 4
票数 24
EN

Stack Overflow用户

发布于 2022-06-02 19:55:08

如果您想要使用concat,那么:

append

代码语言:javascript
复制
outputxlsx = outputxlsx.append(df, ignore_index=True)

concat

代码语言:javascript
复制
outputxlsx = pd.concat([outputxlsx, df])
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70837397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档