df.append() 未附加到 DataFrame

2025-03-04 08:28:00
admin
原创
5
摘要:问题描述:我提出了关于添加带有索引的行的问题,但目前我还不清楚在没有索引的情况下如何/为什么会发生这种情况:columnsList=['A','B','C','D'] df8=pd.DataFrame(columns=columnsList) L=['value aa','value bb','value c...

问题描述:

我提出了关于添加带有索引的行的问题,但目前我还不清楚在没有索引的情况下如何/为什么会发生这种情况:

columnsList=['A','B','C','D']
df8=pd.DataFrame(columns=columnsList)
L=['value aa','value bb','value cc','value dd']
s = pd.Series(dict(zip(df8.columns, L)))
df8.append(s,ignore_index=True)
df8.append(s,ignore_index=True)

我期望这里有一个 2X4 数据框。然而并没有添加任何值,也没有发生错误。

print(df8.shape)
#>>> (0,4)

为什么该系列没有被添加,并且没有给出任何错误?


如果我尝试添加一行 LOC,则会添加一个索引,

df8.loc[df8.index.max() + 1, :] = [4, 5, 6,7]
print(df8)

结果:

     A  B  C  D
NaN  4  5  6  7

我猜想 LOC 和 iLOC 都不能用于附加没有索引名称的行(即 Loc 添加索引名称 NaN,并且当索引号高于数据库的行数时不能使用 iLoc)


解决方案 1:

pandas >= 1.4

DataFrame.append已被弃用,请pd.concat改用。

请注意,在您的示例中,您正在连接两个系列,因此请沿其连接axis=1并转置。

df = pd.concat([s, s], axis=1).T
df

          A         B         C         D
0  value aa  value bb  value cc  value dd
1  value aa  value bb  value cc  value dd

旧版本

DataFrame.append不是就地操作。根据文档,

DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=None)

将其他行附加到此框架的末尾,返回一个新对象。此框架中不存在的列将添加为新列。

您需要将结果分配回去。

df = df8.append([s] * 2, ignore_index=True)
df
          A         B         C         D
0  value aa  value bb  value cc  value dd
1  value aa  value bb  value cc  value dd

解决方案 2:

此声明本身data.append(sub_data) 不起作用。

但声明data=data.append(sub_data) 将会起作用

重新分配后问题就解决了。这是其他地方没有的好建议。

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1317  
  IPD(Integrated Product Development)项目管理作为一种先进的产品开发管理模式,在众多企业中得到了广泛应用。它旨在通过整合企业的各种资源,实现产品的快速、高质量开发,从而提升企业的市场竞争力。IPD项目管理涵盖多个方面,其中五大核心要素尤为关键,它们相互关联、相互影响,共同构成了IPD项目...
IPD流程中PDCP是什么意思   5  
  IPD(Integrated Product Development)即集成产品开发,是一套先进的、成熟的产品开发管理思想、模式和方法。它强调将产品开发视为一个完整的流程,涵盖从概念产生到产品退市的全生命周期,通过跨部门团队的协同合作,实现缩短产品上市时间、提高产品质量、降低成本等目标。IPD测试流程作为IPD体系的重...
华为IPD流程   7  
  华为 IPD 产品开发流程是一套先进且成熟的产品开发管理体系,在提升企业产品竞争力、促进团队协作等方面发挥着重要作用。它以市场为导向,强调跨部门团队的协同合作,旨在实现产品的快速、高质量交付,满足客户需求并提升企业的经济效益。通过深入了解和应用 IPD 产品开发流程,企业能够优化内部资源配置,提高团队协作效率,从而在激...
IPD管理流程   8  
  IPD(Integrated Product Development)即集成产品开发,是一套先进的、成熟的产品开发管理思想、模式和方法。它强调将产品开发视为一个完整的流程,涵盖从概念产生到产品退市的全生命周期,涉及市场、研发、生产、销售、售后等多个部门的协同合作。构建高效的项目管理文化对于企业的发展至关重要,而IPD培...
IPD开发流程管理   5  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用