python高階用法

2021-08-31 09:40:42 字數 866 閱讀 2850

建立dict

[i for i in range(10)],

pandas給乙個dataframe的列沒有在另乙個dataframe的列中出現的列賦值為nan

df_a.loc[~df_a.isin(df_b[『col_name』].unique()),『col_name』]=nan

pandas做笛卡爾積

df_a[『value』]=1

df_b[『value』]=1

pd_result=pd.merge(df_a,df_b,on=『value』).drop(columns=[『value』])

pandas.dataframe連線

多約束(>、<、=)取某一列

df_data[df_data[『datadate』]>20181225 and df_data[『datadate』]<20190101]

會報以下錯誤:

valueerror: the true value of a series is ambigous. use a.empty, a.bool(), a.item(), a.any() or a.all().
有兩個錯誤,第乙個是and的優先順序較高,所以and兩邊要運算的內容需要加括號,第二個錯誤是應該將and改為&運算子。最終正確的語句是:

df_data[(df_data[『datadate』]>20181225) & (df_data[『datadate』]<20190101)]

python高階用法 Python高階用法

python高階用法 三元表示式 x 10 y 20 print x if x y else y x 100 y 20 print x if x y else y 列表推導式和生成器 列表推導式 print i for i in range 10 print i 2 for i in range 1...

Python 函式的高階用法

python 中一切皆物件,我們定義的名稱僅僅是與這些物件繫結的識別符號。函式也不例外,它們也是物件,同樣可以被繫結到不同的名稱。def welcome info print info return welcome 輸出函式 welcome 的記憶體位址 f welcome 將 welcome 的記...

Python類的高階用法

如果乙個類想被用於for in迴圈,類似list或tuple那樣,就必須實現乙個 iter 方法,該方法返回乙個迭代物件,然後,python的for迴圈就會不斷呼叫該迭代物件的 next 方法拿到迴圈的下乙個值,直到遇到stopiteration錯誤時退出迴圈。比如以斐波那契數列為例,寫乙個fib類...