我经常使用下面的方法将一行附加到dataframe。我真正喜欢它的一件事是,它允许您附加一个简单的dict对象。例如:
# Creating an empty dataframe
df = pd.DataFrame(columns=['a', 'b'])
# Appending a row
df = df.append({ 'a': 1, 'b': 2 }, ignore_index=True)同样,我最喜欢的是,代码非常干净,只需要很少的行。现在,我想建议的备选方案是:
# 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。:(有什么好的方法可以像我过去那样使用一个小词(这不是反对的)吗?
发布于 2022-01-24 16:57:45
如果需要的话,用字典创建一个列表,然后用df = pd.DataFrame.from_records(your_list)创建一个新的数据格式。List的“追加”方法非常有效,不会被废弃。另一方面,由于数据的设计,常常需要重新创建数据,并将所有数据复制到附件中--这就是为什么它们不推荐使用这种方法。
发布于 2022-03-08 13:45:16
我也喜欢附加方法。但是你可以用一串数据来做这件事
df = pd.concat([df, pd.DataFrame.from_records([{ 'a': 1, 'b': 2 }])])或对具有增量上升索引的DataFrames上的值使用loc和元组。
df.loc[len(df), ['a','b']] = 1, 2或者也许
df.loc[len(df), df.columns] = 3, 4发布于 2022-06-02 19:55:08
如果您想要使用concat,那么:
append
outputxlsx = outputxlsx.append(df, ignore_index=True)concat
outputxlsx = pd.concat([outputxlsx, df])https://stackoverflow.com/questions/70837397
复制相似问题