在 Python 中,append 和 extend 是列表(List)数据结构的两个常用方法,用于在列表中添加元素。
早期的pandas中本来也可以使用append 和 extend 来拼接表格,但在最新版的pandas中,这两个函数已经删掉,拼接可以使用concat函数。
append与extend基础用法
append 方法用于在列表的末尾添加一个单个元素。例如:
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)
输出:[1, 2, 3, 4]
在这个例子中,append(4) 将元素 4 添加到列表 my_list 的末尾。
extend 方法则用于将一个可迭代对象(如列表、元组等)的所有元素添加到另一个列表中。
my_list = [1, 2, 3]
another_list = [4, 5, 6]
my_list.extend(another_list)
print(my_list)
在这个例子中,extend(another_list) 将列表 another_list 的所有元素添加到列表 my_list 中。
需要注意的是,append 方法是将一个单个元素添加到列表中,而 extend 方法是将一个可迭代对象的所有元素添加到列表中。
这意味着,如果使用 append 方法来添加一个列表,那么实际上是将整个列表作为一个单个元素添加到原始列表中。而使用 extend 方法,则是将列表中的每个元素分别添加到原始列表中。
my_list = [1, 2, 3]
another_list = [4, 5, 6]
# 使用 append 方法添加另一个列表
my_list.append(another_list)
print(my_list)
# 使用 extend 方法添加另一个列表
my_list = [1, 2, 3]
my_list.extend(another_list)
print(my_list)
在第一个例子中,使用 append(another_list) 将列表 another_list 作为一个单个元素添加到 my_list 中,结果是 my_list 变成了 [1, 2, 3, [4, 5, 6]]。
而在第二个例子中,使用 extend(another_list) 将列表 another_list 中的每个元素分别添加到 my_list 中,结果是 my_list 变成了 [1, 2, 3, 4, 5, 6]。
在pandas中实现append和extend的用法
在Pandas中,append和extend两个方法都可用于在DataFrame或Series对象中添加新的行或列。
append
DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=None)
描述:将一个DataFrame或Series对象添加到另一个DataFrame对象的末尾。
other:要添加的DataFrame或Series对象。 ignore_index:True,则忽略原始索引并为新的DataFrame创建一个新的连续索引;False(默认值),则保留原始索引。 verify_integrity:True,则检查添加操作是否会导致索引重复;False(默认值),则不进行检查。 sort:True,则对结果进行排序;False(默认值),则不排序。
extend
用法:Series.extend(other) 描述:将一个Series对象扩展为包含另一个Series对象的所有元素。参数:other:要添加的Series对象。
注意:在新版pandas中,append和extend方法已经删除,可用concat代替。
concat
import pandas as pd
data1 = {'Name': ['Tom', 'Nick'],
'Age': [28, 32]}
df1 = pd.DataFrame(data1)
data2 = {'Name': ['John', 'Sam'],
'Age': [25, 29]}
df2 = pd.DataFrame(data2)
# 将df2追加到df1中
df1 = pd.concat([df1, df2], ignore_index=True)
print(df1)