DataFrame数据集删除功能: drop 和 del (del慎用)
DataFrame插入列: pop() and insert()
1) drop: (可选择性: 原址删除 / 视图删除),可多列
df.drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=’raise’)
(labels, axis=1
is equivalent to columns=labels
)
说明:drop可对多行或多列删除,传入inpalce=True对原数据修改,默认inplace=False
baby_names.head()
Out[101]:
Id Name Year Gender State Count unname
0 11350 Emma 2004 F AK 62 11349.0
1 11351 Madison 2004 F AK 48 11350.0
2 11352 Hannah 2004 F AK 46 11351.0
3 11353 Grace 2004 F AK 44 11352.0
4 11354 Emily 2004 F AK 41 11353.0
方法:baby_names.drop([‘Id’,’unname’],axis=1).head() 不改变baby_names的原址数据
baby_names.drop(['Id','unname'],axis=1).head()
Out[100]:
Name Year Gender State Count
0 Emma 2004 F AK 62
1 Madison 2004 F AK 48
2 Hannah 2004 F AK 46
3 Grace 2004 F AK 44
4 Emily 2004 F AK 41
2)del df[‘…’] 原址数据删除,仅一次删除1列,不可多列
del baby_names['unname']
baby_names.head()
Out[106]:
Id Name Year Gender State Count
0 11350 Emma 2004 F AK 62
1 11351 Madison 2004 F AK 48
2 11352 Hannah 2004 F AK 46
3 11353 Grace 2004 F AK 44
4 11354 Emily 2004 F AK 41
3) 移动和插入:pop() and insert():
df = pd.DataFrame([('falcon', 'bird', 389.0,'adv',1000),
('parrot', 'bird', 24.0, 'nhd',1001),
('lion', 'mammal', 80.5, 'nhd',1001),
('monkey', 'mammal', np.nan,'nhd',1001),
('rabbit', 'mammal', 57.5,'nhd',1001),
('fish', 'mammal', 45.5,'nhd',1001),
('duck', 'mammal', 65.5,'nhd',1001)],
columns=('name', 'class','max_speed','mark','type'))
ins = df.pop('class')
ins
Out[143]:
0 bird
1 bird
2 mammal
3 mammal
4 mammal
5 mammal
6 mammal
Name: class, dtype: object
方法:df.insert(‘location‘, new_name_column, value_inserted_column)
df.insert(3,'class_insert',ins)
df
Out[145]:
name max_speed mark class_insert type
0 falcon 389.0 adv bird 1000
1 parrot 24.0 nhd bird 1001
2 lion 80.5 nhd mammal 1001
3 monkey NaN nhd mammal 1001
4 rabbit 57.5 nhd mammal 1001
5 fish 45.5 nhd mammal 1001
6 duck 65.5 nhd mammal 1001
----------
help(pd.DataFrame.drop)代码信息:
drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
Return new object with labels in requested axis removed.
Parameters
----------
labels : single label or list-like
Index or column labels to drop.
axis : int or axis name
Whether to drop labels from the index (0 / 'index') or
columns (1 / 'columns').
index, columns : single label or list-like
Alternative to specifying `axis` (``labels, axis=1`` is
equivalent to ``columns=labels``).
.. versionadded:: 0.21.0
level : int or level name, default None
For MultiIndex
inplace : bool, default False
If True, do operation inplace and return None.
errors : {'ignore', 'raise'}, default 'raise'
If 'ignore', suppress error and existing labels are dropped.
Returns
-------
dropped : type of caller