1、 找出含有特定字串的行
res=res[res['choice'].str.contains("2、找出第乙個字元是 『9』 的行res=res[res['choice'].str[0] == '9']
3、提高多層行索引的 dataframe 的搜尋效率col
one two
c u 9
對於以上結構的兩層行索引 dataframe,採用 data.loc[(c, u), col] 取資料時,一般情況下會觸發如下警告:
performancewarning: indexing past lexsort depth may impact performance.
這是因為索引沒有排序,而是否排序對 dataframe 的檢索效率有較大影響,只要按如下:
data = data.sort_index()
給索引排個序就可消除該警告。
4、pandas 與 numpy 計算標準差時的差別
pandas.std 預設 ddof=1,就是無偏的估計(n-1)
numpy.std 預設 ddof=0,就是有偏的估計(n)
在混合使用 numpy 和 pandas 時注意預設值的差異。
5、資料輸出時列無法對齊
in[76]: ires_df
out[76]:
行業因子平均解釋力
交通運輸 0.007395
傳媒 0.014366
農林牧漁 0.005049
醫藥 0.019094
商貿零售 0.002312
國防軍工 0.003610
基礎化工 0.007108
目前 pandas 對中文的支援還不完美,當列名用中文之後,輸出時資料沒有對齊,改進辦法就是對pandas的輸出引數進行設定。
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', true)
pd.set_option('display.unicode.east_asian_width', true)
ires_df
行業因子平均解釋力
交通運輸 0.007395
傳媒 0.014366
農林牧漁 0.005049
醫藥 0.019094
商貿零售 0.002312
國防軍工 0.003610
基礎化工 0.007108
改進之後的格式有所改善,但是仍然有繼續改進的空間。
1、一維陣列的轉置
import numpy as np
a = np.array([1, 2, 3, 4, 5])
print(f'1.原始陣列 a = ')
print(f'2.原始陣列的常規轉置 a.t = ')
print(f'3.原始陣列的標準轉置 a.reshape(len(a), 1) = ')
print(a.reshape(len(a), 1))
print(f'4.原始陣列的快捷轉置 a[:, none] = ')
print(a[:, none])
out[45]:
1.原始陣列 a = [1 2 3 4 5]
2.原始陣列的常規轉置 a.t = [1 2 3 4 5]
3.原始陣列的標準轉置 a.reshape(len(a), 1) =
[[1]
[2][3]
[4][5]]
4.原始陣列的快捷轉置 a[:, none] =
[[1]
[2][3]
[4][5]]
1、批量賦值
有乙個字典,需要根據這個字典來構建乙個物件。
class person:
def __init__(self,_obj):
self.name = _obj['name']
self.age = _obj['age']
self.energy = _obj['energy']
self.gender = _obj['gender']
self.email = _obj['email']
self.phone = _obj['phone']
self.country = _obj['country']
利用__dict__的特性,上面的類可以用如下的代替,**量大大減少:
class person:
def __init__(self,_obj):
self.__dict__.update(_obj)
(筆記:簡單地說,就是結構相同的兩個 dict 變數之間賦值,用dict整體賦值效率最高)
免了在__init__方法中類似於self.something = something的方法,使用自動化例項變數
其中的__init__方法傳入的引數args為dict對應於實體model中的key,value
python日常小技巧 更新ing
目錄 python將多個list合併為乙個list sum list1,list2.listn python輸出大寫字母 小寫字母的列表 list 2020.08.09列表推導式中實現if elif else ascii碼值與字母對應關係如下 參考 字母 ascii碼值 a 65 z 90 a 97...
IAR 使用小技巧 持續更新
需求 有時候我們需要複製幾行 的後半部分,不需要複製前半部分。方法 按住alt鍵,再用滑鼠拖動就可以複製和貼上後半部分 燒錄程式 ctrl d 全速執行 f5 單步執行 f10 注釋多行 ctrl k 單行也是這個 取消注釋 ctrl shfit k 燒錄程式 ctrl d 進入除錯程式 退出除錯 ...
MacBook使用小技巧(持續更新)
1.如何顯示所有檔案?2.視窗操作 快捷鍵作用 視窗最大化 最小化 command control f 隱藏當前應用程式所有視窗 command h 隱藏其他應用程式所有視窗 command option h 關閉當前視窗 command w 關閉視窗並退出應用 command q 開啟 關閉啟動臺...