[译]在Pandas的Dataframe中删除行、列

导入模块

import pandas as pd

创建dataframe

data = {'name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'], 
        'year': [2012, 2012, 2013, 2014, 2014], 
        'reports': [4, 24, 31, 2, 3]}
df = pd.DataFrame(data, index = ['Cochice', 'Pima', 'Santa Cruz', 'Maricopa', 'Yuma'])
df

删除行

df.drop(['Cochice', 'Pima'])

删除列

df.drop('reports', axis=1)

删除一个包含特定值的行
就下面这个例子来说:创建一个名为df的新dataframe,取出名称列中单元格值不等于“Tina”的所有行。

df[df.name != 'Tina']

根据行号删除,
注意Pandas是从0开始计数,0是第一行,1是第二行。

df.drop(df.index[2])

可以扩展为删除一系列范围

df.drop(df.index[[2,3]])

删除到相对于结尾的位置

df.drop(df.index[-2])

你可以选择相对top的范围,也可以删除相对于bottom的范围

df[:3] #保留top3

df[:-3] #删除bottom3

原文来源:https://chrisalbon.com/python/data_wrangling/pandas_dropping_column_and_rows/

posted @ 2019-07-10 21:36  bingo彬哥  阅读(31140)  评论(0编辑  收藏  举报
本站总访问量