pandas基础属性方法随机整理(二)--- 删除插入(drop 和 del ,pop() and insert())

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

猜你喜欢

转载自blog.csdn.net/weixin_40040404/article/details/80736072
今日推荐