目录
import pandas as pd
data1 = {
'语文': [0, 19, 9, 28, 91, 56],
'数学': [64, 81, 80, 17, 37, 52],
'英语': [40, 25, 45, 58, 67, 57]
}
data2 = {
'化学': [32, 38, 7, 12, 33, 28],
'物理': [69, 43, 44, 62, 3, 67],
'体育': [93, 7, 77, 95, 40, 89],
'科目': ['科一', '科二', '科三', '科四', '科五', '科六']
}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2, index=["a", "b", "c", "d", "e", "f"])
新增数据
concat
追加数据(增加行数据)
在 Pandas 中,
append()
方法用于将一个 DataFrame 或 Series 的数据追加到另一个 DataFrame 的末尾。从 Pandas 2.0.0 开始,append()
方法已被弃用,而是使用pd.concat()
方法来实现相同的功能。def concat( objs: Iterable[Series | DataFrame] | Mapping[HashableT, Series | DataFrame], *, axis: Axis = 0, join: str = "outer", ignore_index: bool = False, keys: Iterable[Hashable] | None = None, levels=None, names: list[HashableT] | None = None, verify_integrity: bool = False, sort: bool = False, copy: bool | None = None, ) -> DataFrame | Series:
常用参数说明:
ignore_index=True :是否生成新的索引,新索引使用系统默认的整型索引。
axis=0:表示沿着指定的轴拼接(默认为0,表示行方向;1时表示为列方向)。
result1 = pd.concat([df1, df2], ignore_index=False)
result2 = pd.concat([df1, df2], axis=0)
print(result1)
print(result2)
insert插入数据(增加列数据)
def insert( self, loc: int, column: Hashable, value: Scalar | AnyArrayLike, allow_duplicates: bool | lib.NoDefault = lib.no_default, ) -> None:
参数说明:
loc: 插入位置的索引(从 0 开始)。例如,
loc=0
表示在第一列插入,loc=1
表示在第二列插入,以此类推。column: 新列的名称(字符串)。
value: 要插入的数据。可以是一个标量值、列表、NumPy 数组或
Series
对象。allow_duplicates: 是否允许插入重复的列名。默认为
False
,即不允许重复列名。
print(df1)
value = [80, 38, 70, 51, 33, 48]
df1.insert(loc=2, column='生物', value=value)
print(df1)