Python DataFrame 的 append() 方法无效

在进行Python数据分析时,遇到DataFrame的append方法不起作用的问题。原以为是网上教程错误,实则是自己理解有误。问题在于直接调用df.append(df2)不会修改原始DataFrame,需通过赋值操作df=df.append(df2)来实现数据合并。这个小陷阱提醒我们,使用函数时务必了解其参数和返回值,避免类似低级错误。
摘要由CSDN通过智能技术生成

DataFrame 的 append 方法无效

问题描述

做毕设时,需要实现 DataFrame 新增一行的功能,百度到了 DataFrame 对象有 append() 方法可以用于新增一行,但是使用时发现居然无效,并且我也进行了各种尝试,例如给创建 DataFrame 时利用 colums=[] 给表头赋值…结果还是没用。

一开始还以为是网上写错了,后来发现是自己的用法错了!!

问题解决

简化一下问题,如果这么用是错误的:

df = pd.DataFrame()
df2 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'])
df.append(df2)
print(df)

这样会发现结果永远是 Empty!!!

真正的用法如下:

df = pd.DataFrame()
df2 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'])
df = df.append(df2)
print(df)

核心在于 df.append(df2) 不会改变 df 本身,返回值才是合并后的 DataFrame 对象

反思

其实这种函数的用法并不是一个少见的现象,学过的很多语言中的很多函数都是这么用的,然而我居然还在这上面折腾了好一会儿,实在是不应该。

平时查资料时,虽然阅读速度要快,但是不要凭借自己的脑补去用函数,还是应该把函数的参数、返回值、用法给看清楚,再拿来用,以后不能犯这种低级错误。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌宅鹿同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值