Pandas 数据帧append()
方法
在本教程中,我们将学习 PandasDataFrame.append()
的方法。此方法将其他行追加到调用者的末尾,并返回一个新对象,不在调用者中的其他行中的列将作为新列添加。
下面是DataFrame.append()
方法的语法。在本教程中,我们将向数据帧添加数据帧,向数据帧添加系列,向数据帧添加字典。
句法
DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=False)
因素
其他:表示要追加的数据。它包括数据帧或序列/类似字典的对象,或这些对象的列表。
ignore_index: 代表 bool(真或假),默认值为 False。如果是True
,生成的轴将从 0,1,…,n - 1 开始标注。
verify_integrity: 代表 bool(真或假),默认值为 False。如果是True
,在创建重复索引时引发值错误。
排序:表示 bool(真或假),默认值为 False。如果自身列和其他列不对齐,它会对列进行排序。
示例:创建两个数据帧
创建两个数据帧并打印输出。在本教程中,我们将使用这两个数据帧。
import pandas as pd
df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
df2 = pd.DataFrame([['Chetan',103,'Maths',75], ['Divya',104,'Science',80], ['Diya',105,'Maths',92]], columns=['Name', 'Roll No','Subject', 'Marks'])
print("-------DataFrame 1---------")
print(df1)
print("-------DataFrame 2---------")
print(df2)
一旦我们运行该程序,我们将获得以下输出。
-数据帧 1 - 名称卷无科目标记 0 阿布舍克 100 科学 90 1 阿努拉格 101 科学 85 -数据帧 2 - 名称卷无科目标记 0 切坦 103 数学 75 1 迪维娅 104 科学 80 2 迪雅 105 数学 92
示例 1:使用DataFrame.append()
方法追加多行
我们可以使用DataFrame.append()
方法将数据帧追加到数据帧中,下面的例子也显示了这一点。
import pandas as pd
df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
df2 = pd.DataFrame([['Chetan',103,'Maths',75], ['Divya',104,'Science',80], ['Diya',105,'Maths',92]], columns=['Name', 'Roll No','Subject', 'Marks'])
print(df1.append(df2))
一旦我们运行该程序,我们将获得以下输出。
姓名卷无科目成绩 0 Abhishek 100 理科 90 1 Anurag 101 理科 85 0 车坛 103 数学 75 1 Divya 104 理科 80 2 Diya 105 数学 92
示例 2:使用DataFrame.append()
方法将多行追加到数据帧中
当我们将数据帧附加到数据帧时,两个数据帧的索引值会重叠。为了避免这种情况,我们可以分配ignore_index=True
。
import pandas as pd
df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
df2 = pd.DataFrame([['Chetan',103,'Maths',75], ['Divya',104,'Science',80], ['Diya',105,'Maths',92]], columns=['Name', 'Roll No','Subject', 'Marks'])
print(df1.append(df2,ignore_index=True))
一旦我们运行该程序,我们将获得以下输出。
姓名卷无科目成绩 0 Abhishek 100 理科 90 1 Anurag 101 理科 85 2 车坛 103 数学 75 3 Divya 104 理科 80 4 Diya 105 数学 92
示例 3:使用DataFrame.append()
方法将多行追加到数据帧中
在最后一个示例中,我们学习了如何在不重叠索引值的情况下将数据帧追加到数据帧中。在这个例子中,如果我们想表示索引值的重叠,我们可以在语法中指定verify_integrity=True
。当索引值重叠时,这将引发异常。
import pandas as pd
df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
df2 = pd.DataFrame([['Chetan',103,'Maths',75], ['Divya',104,'Science',80], ['Diya',105,'Maths',92]], columns=['Name', 'Roll No','Subject', 'Marks'])
print(df1.append(df2,verify_integrity=True))
一旦我们运行该程序,我们将获得以下输出。
值错误:索引有重叠值:Int64Index([0,1],dtype='int64 ')
示例 4:使用DataFrame.append()
方法将单行(系列)附加到数据帧
我们可以在DataFrame
后面附加一个Series
。下面的例子显示了同样的情况。
import pandas as pd
series=pd.Series(['Chetan',103,'Maths',75],index=['Name', 'Roll No','Subject', 'Marks'])
df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
print(series)
print("------DataFrame after appending series------")
print(df1.append(series,ignore_index=True))
一旦我们运行该程序,我们将获得以下输出。
名称车坛 卷号 103 科目数学 标记 75 数据类型:对象 -追加系列后的数据帧- 名称卷号科目标记 0 Abhishek 100 Science 90 1 Anurag 101 Science 85 2 车坛 103 数学 75
示例 5:使用DataFrame.append()
方法将字典附加到数据帧
以下示例显示了如何将字典追加到数据帧中。
import pandas as pd
dictionary={'Name':'Chetan','Roll No':103,'Subject':'Maths','Marks':75}
df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
print(df1.append(dictionary,ignore_index=True))
一旦我们运行该程序,我们将获得以下输出。
点名无科目成绩 0 Abhishek 100 理科 90 1 Anurag 101 理科 85 2 车坛 103 数学 75
示例 6:使用DataFrame.append()
方法将字典列表附加到数据帧
以下示例显示了如何将字典列表追加到数据帧中。
import pandas as pd
dictionary=[{'Name':'Chetan','Roll No':103,'Subject':'Maths','Marks':75},{'Name':'Divya','Roll No':104,'Subject':'Science','Marks':80}]
df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
print(df1.append(dictionary,ignore_index=True))
一旦我们运行该程序,我们将获得以下输出。
姓名卷无科目成绩 0 Abhishek 100 理科 90 1 Anurag 101 理科 85 2 车坛 103 数学 75 3 Divya 104 理科 80
结论
在本教程中,我们学习了 PythonPandasDataFrame.append()
方法。我们理解了DataFrame.append()
方法的语法和参数,并通过在数据帧上应用该方法解决了一些例子。