常用屬性
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)