添加行和列
-
使用[]和loc添加行
-
使用assign方法
-
使用loc可以对行进行添加
-
append 拼接多个列表
删除行和列
DataFrame.drop(labels,axis,index,columns,inplace)
数据连接和合并
pandas.concat(objs,axis,join='outer',ignore_index=False
使用某种合并方式(inner/outer)
沿着某个轴向(axis=0/1)
把多个Pandas对象(DataFrame/Series)合并成一个。
merge 函数
pandas.merge(
left,
right,
how="inner",
on=None,
left_on=None,
right_on=None,
left_index=False,
right_index=False,
sort=False,
suffixes=("_x", "_y"),
copy=True,
indicator=False,
validate=None,
)
参数 | 说明 |
---|---|
left | 左表 |
right | 右表 |
how | 连接方式,inner、left、right、outer,默认为inner |
on | 用于连接的列名称 |
left_on | 左表用于连接的列名 |
right_on | 右表用于连接的列名 |
left_index | 是否使用左表的行索引作为连接键,默认False |
right_index | 是否使用右表的行索引作为连接键,默认False |
sort | 默认为False,将合并的数据进行排序 |
copy | 默认为True,总是将数据复制到数据结构中,设置为False可以提高性能 |
suffixes | 存在相同列名时在列名后面添加的后缀,默认为(’_x’, ‘_y’) |
indicator | 显示合并数据中数据来自哪个表 |
- inner
merge的’inner’的类型称为内连接,它在拼接的过程中会取两张表的键(key)的交集进行拼接。
现在用’inner’的方式进行merge
图文表示为
- left 和right
'left’和’right’的merge方式其实是类似的,分别被称为左连接和右连接。这两种方法是可以互相转换的,所以在这里放在一起介绍。
‘left’
merge时,以左边表格的键为基准进行配对,如果左边表格中的键在右边不存在,则用缺失值NaN填充。
‘right’
merge时,以右边表格的键为基准进行配对,如果右边表格中的键在左边不存在,则用缺失值NaN填充。
现在用’left’的方式进行merge
- outer
'outer’是外连接,在拼接的过程中它会取两张表的键(key)的并集进行拼接。看文字不够直观,
随机抽样
DataFrame.sample(n,frac,replace,axis,ignore_index,random_state)
n表示从数据集中随机选取n行数据,不能和frac参数同时使用。如果frac=None,那么n默认为1.
frac表示从数据集中选取一定比例的数据,不能和n同时使用。如果frac>1,replace必须为True
replace表示是否允许重复取样,即一条数据多次选取。默认为否
ge_dummies
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)
data : array-like, Series, or DataFrame 输入的数据
prefix : string, list of strings, or dict of strings, default None。get_dummies转换后,列名的前缀
columns : list-like, default None。指定需要实现类别转换的列名
dummy_na : bool, default False,增加一列表示空缺值,如果False就忽略空缺值
drop_first : bool, default False,获得k中的k-1个类别值,去除第一个。