目前項目中使用過的方法
在項目中所用到的方法彙集:
1.在項目中從資料庫中取出數據後通常需要先繪製影像進行數據的觀察,此過程中使用到的方法:
時間數據類似於 2022-02-22 2:22:22 可以先轉換為datetime類型的數據:可以使用pd.to_datetime()
方法將時間轉換為datetime類型
例如:
time = pd.to_datetime('2022-02-22 2:22:22')
輸出結果:Timestamp('2022-02-22 02:22:22')
轉換成功
2.可以設置時間序列為索引方便繪圖:在DataFrame列表中使用DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
方法設置任意列為索引
參數:
- keys — 列標籤或列標籤/數組列表 需要設置為索引的列
- drop — 默認為True 刪除用作新索引的列
- append — 是否將列附加到現有索引 默認為False
- inplace — 布爾類型 表示當前操作是否對原數據生效 默認為False
- verify_integrity — 檢查新索引的副本 將其設置為False將提高該方法的性能 默認為false
例如:
datas.set_index('svrCtime', inplace=True)
#設置了svrCtime為索引,inplace=True代表直接作用在原列表上
3.也可以使用DataFrame.reset_index(level=None, drop=False, inpalce=False, col_level=0, col_fill=' ')
方法重置索引,
例如:
data = data.reset_index()
#重置了列表的索引,原索引回到了列表中
4.pandas.DataFrame.diff(periods=?)
方法適用於計算差分的:即將某行/列移動periods周期後,與原來數據進行對比,取得差值。
其中參數periods=幾代表作幾階差分
例如:
diff_ = data['bottomTemp'].diff(periods=2)
#對數據的'bottomTemp'列進行二階差分
5.向DataFrame列表中指定位置添加一列值使用:DataFrame.insert(loc,column,value,allow_duplicates = False)
方法
參數:
-
loc: int,插入索引。必須驗證0 <= loc <= len(columns)
-
column:str, number, or hashable object,插入列的標籤
-
value:int, Series, or array-like
-
allow_duplicates:bool, 可選
前面三個是必選,後面的可選
值得注意的是,如果你不知道value的值,可以使用np.nan代替,後續再賦值
例如:
data.insert(len(data.columns), 'diffs', diff_)
#向data列表中的末尾處添加名字為diffs的一列,其中值為diff_
6.pandas中.loc()與.iloc()函數的使用與區別區別:
見pandas常用操作詳解——.loc與.iloc函數的使用及區別
7.設置一個空的dataFrame列表:
例如:
df = pd.DataFrame(columns=['Time', 'Date', 'get_time', 'Hour', 'Minute', 'Length'])
即可
8.判斷一個列表是否為空用.empty
例如:
df.empty
若為空返回ture,否則為false
9.使用jupyter notebook時想要設置顯示全部數據時使用:
pd.set_option('display.max_rows', None) # 設置顯示最大行
10.當需要對數據進行分箱操作時可以使用pd.cut()
方法,所謂的分箱操作就是對一些數據(連續的數據)進行離散化處理,該方法可以根據我們設定的離散化情況對數據進行統計。
函數中的參數可以參照該文章:數據分箱之pd.cut()
具體操作和一些統計方法可以參照:pandas中pd.cut()的功能和作用
影片講解:數據分箱操作
11.當需要將數據進行聚合和分組運算時使用pd.groupby()
方法
該方法具體可參考:Pandas教程 | 超好用的Groupby用法詳解和
pandas中pd.groupby()的用法
影片講解:數據的聚合與分組運算