问题描述
做毕设时,需要实现 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 对象
反思
其实这种函数的用法并不是一个少见的现象,学过的很多语言中的很多函数都是这么用的,然而我居然还在这上面折腾了好一会儿,实在是不应该。
平时查资料时,虽然阅读速度要快,但是不要凭借自己的脑补去用函数,还是应该把函数的参数、返回值、用法给看清楚,再拿来用,以后不能犯这种低级错误。