赞
踩
1.函数 df.append(other, ignore_index=False, verify_integrity=False, sort=None) 用途: # 将其他行附加到此帧的末尾,返回一个新对象。不在此框架中的列将添加为新列。 参数: # other:DataFrame或Series / dict-like对象,或者这些对象的列表;要追加的数据。 # ignore_index=False如为True不用索引标签。 # verify_integrity=False如为True创建具有重复项索引时引发ValueError # sort=None bool默认排序;False不排序 返回:附加 DataFrame ============================================================ 2.实例 # 实例1: df1 = pd.DataFrame([[11, 12], [13, 14]], columns=list('AB')) df2 = pd.DataFrame([[21, 22], [23, 24]], columns=list('AB')) df3 = pd.DataFrame([[21, 22], [23, 24]], columns=list('BC')) result1=df1.append(df2) result2=df1.append(df3,sort=False) result3=df1.append(df2, ignore_index=True)#忽略原数据标签 result1 result2 result3 df1 A B A B A B C A B 0 11 12 0 11 12 0 11.0 12 NaN 0 11 12 1 13 14 1 13 14 1 13.0 14 NaN 1 13 14 df2 A B 0 21 22 0 NaN 21 22.0 2 21 22 0 21 22 1 23 24 1 NaN 23 24.0 3 23 24 1 23 24 ============================================================ # 实例2:字典或字典列表数据 data1={'A':88,'B':89} data2= [{'A':86,'B':87},{'A':88,'B':89}] # 给字典转换的数据框添加索引 result1=df1.append(pd.DataFrame(data1,index=[1])) #数据为标量值必须传入index result1=df1.append(data1,ignore_index=True) #添加字典,忽略掉索引 result2=df1.append(pd.DataFrame(data2,index=[2,3])) #数据为标量值必须传入index result2=df1.append(data2,ignore_index=True) #添加字典,忽略掉索引 result1 result2 A B A B 0 11 12 0 11 12 1 13 14 1 13 14 2 86 87 1 88 89 3 88 89 ============================================================ #实例3.1:序列数据 s1=pd.Series([91,92],name='A') s2=pd.Series([93,94],name='B') s3=pd.Series([95,96]) result1=s1.append(s2) result2=s1.append(s3) result3=df1.append([s1,s2]) result1 result2 result3 0 91 0 91 A B 0 1 1 92 1 92 0 11.0 12.0 NaN NaN 0 93 0 95 1 13.0 14.0 NaN NaN 1 94 1 96 A NaN NaN 91.0 92.0 B NaN NaN 93.0 94.0 #实例3.2:序列数据 ss = pd.Series([81,82], index=['A', 'B']) result1=df1.append(ss, ignore_index=True)#结果同下 result1=df1.append({'A':s1.values[0],'B':s1.values[1]},ignore_index=True) A B 0 11 12 1 13 14 2 91 92 ============================================================ #实例4:附加数据效率 df=pd.DataFrame([],columns=list('AB')) for i in range(10,13): df = df.append({'A': i,'B': i+10}, ignore_index=True)#必须忽略索引 效率低t=0.0118 df.append([df.append({'A': i,'B': i+10}, ignore_index=True) for i in range(10,13)], ignore_index=True)#效率中t=0.0077 pd.concat([pd.DataFrame({'A':[i],'B':[i+10]}) for i in range(10,13)],ignore_index=True) #效率高t=0.0036 A B 0 10 20 1 11 21 2 12 22
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。