三. 常用屬性和方法

常用屬性

  • dtype
    返回Series的數據類型

  • dtypes
    返回DataFrame每一列的數據類型

  • index
    返回0軸索引,可以使用list()將其變為列表形式

  • columns
    返回1軸索引,可以適應list將其變為列表類型

  • values
    返回值,是一個array類型

  • shape
    返回維度

  • T
    行列轉置

常用的方法

  • head()
    參數: 數字
    默認查看前五行,可是加參數來改變查看的行數

  • tail()
    參數: 數字
    默認查看最后五行,可以添加參數指定查看的行數

  • describe()
    查看數據的描述信息,包括計數,均值,最大最小值,分布

  • info()
    查看數據的基本信息

  • sort_index()
    參數: axis, ascending
    按索引進行排序,默認是按照0軸升序
    可以指定參數來實現是0/1軸,升降序

    df.sort_index()                    # 默認是0軸,升序
    df.sort_index(ascending=False)     # 指定0軸,降序
    
    df.sort_index(axis=1)              # 指定1軸,默認升序
    df.sort_index(axis=1, ascending=False)   # 指定1軸,降序
    
  • sort_values()
    參數: by, axis, ascending
    按值進行排序,默認是0軸升序
    可以指定參數來實現0/1軸,升降序
    另外,均需要額外指定排序基準,即按照什么值進行排序。

    df.sort_values(by='A')                    # 默認是0軸,升序,按照A列
    df.sort_values(ascending=False)     # 指定0軸,默認降序
    
    df.sort_values(axis=1)              # 指定1軸,升序
    df.sort_values(axis=1, ascending=False)   # 指定1軸,降序
    
  • reindex()
    參數:index/columns
    使用列表重新排列索引的順序,index是0軸方向,columns是1軸方向

  • drop()
    參數: value/axis
    默認情況下,刪除的是行,可以指定axis=1來刪除列
    需要注意的是,drop()返回的是一個副本,即drop命令并不會直接在原數據上修改。

    image

  • rename()
    參數:index/columns
    對行或者列索引進行更改,以字典的形式,主要運用于較少的更改
    當對多個索引進行更改的時候,可以使用df.columns = [...]

  • value_counts()
    對出現的值進行計數
    這個方法只能對Series類型進行計數,DataFrame類型你只需要先選取一行或者一列不就變成Series了么。

  • 字符串方法
    對字符串進行處理,包括大小寫變換等等。
    同樣只對Series有效,就是說,你需要先選取某一行或者列,在使用這個方法。

    image

  • concat()
    這個方法是將多組Series或者DataFrame聯結,可以指定axis聯結到行或者列。
    默認合并到行

    image

    下面是指定axis聯結到列

    image

  • merge()
    這是SQL類型的合并

    image

    其中,on參數指定合并的基準列

  • append()
    在數據的后面追加

    image

  • groupby()
    分組操作

  • transform()
    對分組進行轉換,不會進行整體的轉換,每個分組作為一個小的整體,下面的例子是使用每個分組的中位數來對當前分組進行空值填充,而不是使用整體的中位數來進行填充。

    features['LotFrontage'] = features.groupby("Neighborhood")["LotFrontage"].transform(lambda x:x.fillna(x.median())) 
    
  • to_datetime()
    日期轉換方法,將某一列轉換成日期類型或者將某一個字符型的日期轉換成日期格式。經過日期轉換之后,便可以執行相應的日期操作。

    df['time'] = pd.to_datetime(df['time'])
    
    df['time'].dt.year  # 獲取日期里面的年份
    df['time'].dt.mongth  # 獲取月份 
    df['time'].dt.day  # 獲取某一天
    df['time'].dt.weekday_name  # 獲取星期幾(英文)
    df['time'].dt.weekday   # 獲取周幾(數字)
    df['time'].dt.dayofyear  # 獲取一年的第幾天 
    
  • date_range()
    參數: 日期,periods
    創建日期類型的索引

    image

  • DatetimeIndex()
    創建日期類型的索引

    time_index = pd.DatetimeIndex(df['time'])
    

    以上是將time這一列變成日期類型的索引,將其命名為time_index,值的注意的是,在這里,并不需要覆蓋原來的index,但是依然可以使用這個日期類型的索引對原來的數據進行操作。

    time_index.year   # 獲取年份
    time_index.month  # 獲取月份
    
  • duplicated()
    查看是否存在重復行,如果存在重復行,返回True,否則返回False。
    如果是對Series操作,則只對Series進行重復行檢查,如果是對DataFrame操作,則是對整行進行檢查。

    可以使用下面的方法查看具體的重復行的數據。

    train.loc[train.duplicated(), :]
    

    參數keep指定重復行的保留情況,可以是'first','last', False,False是將全部重復行列出。

    參數subset以一個列表的形式,可以指定僅對列表出現的行,進行重復檢查,比如 subset=['column1', 'column2'],意思是只對column1,column2進行重復檢查。

  • drop_duplicated()
    將DataFrame重復行進行刪除,keep參數指定保留的行,'first', 'last'...

  • get_option()
    pandas的選項工具,下面是查看最大的顯示行數。

    pd.get_option('display.max_rows')
    

    以上的方法顯示最大顯示的行數

  • set_option()
    pandas的選項設置函數
    下面是設置最大顯示的行數為無,即全部顯示。

    pd.set_option('display.max_rows', None)
    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。