在用DataFrame时,经常会用到在DataFrame尾部添加新的一行,这个时候可能会想起,列表的时候直接append就可以,DataFrame之前也可以用append添加到尾部,只是目前被弃用了,改成使用concat。
虽然append被弃用,但目前还可以正常使用,会出来一堆提示,实在是影响心情。
下面实践操作一下,看看两者转换。
1. append
DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=False)
import pandas as pd
df = pd.DataFrame({'name':['张三','李四','王五'],'age':[24,22,15]})
#现在要添加一行,老六,66
df = df.append({'name':'老六','age':66},ignore_index=True)
print(df)
print('*'*50)
#现在添加一列,性别,1,1,0,6
df = df.append({'sex':[1,1,0,6]},ignore_index=True)
print(df)
通过运行结果发现,出现两部分提示,都在提示应该使用concat。
注意,如果使用append,ignore_index=True,别忘了设置,否则会报错的。
2.concat
pandas.concat(objs, axis=0, join=‘outer’, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)
import pandas as pd
df = pd.DataFrame({'name':['张三','李四','王五'],'age':[24,22,15]})
print(df)
print('*'*50)
#现在要添加一行,老六,66
df_insert = pd.DataFrame([['老六',66]],columns=['name','age'])
df = pd.concat([df,df_insert],axis=0,ignore_index=True)
print(df)
print('*'*50)
#现在添加一列,性别,1,1,0,6
df_insert_ = pd.DataFrame([[1],[1],[0],[6]],columns=['sex'])
df = pd.concat([df,df_insert_],axis=1)
print(df)