有清單:
l_figure_s= [5, 9, 21, 25, 30, 34, 43]
l_figure_e= [8, 16, 24, 28, 33, 37, 46]
串列中創建的資料框:
df1 = pd.DataFrame.from_dict({'starts':l_figure_s,'ends':l_figure_e},dtype=int,orient='index').transpose()
您需要按條件檢查元素:
df1[ df1['starts']<df1['ends'] & df1['starts'].shift(-1)>=df['ends'] ]
錯誤發生在最后一行,我認為解釋器看到了這種情況:Nan >= 46
如何排除最后一行之外的條件檢查?
也許您需要 df['ends'] 的計算器?
uj5u.com熱心網友回復:
你必須使用括號:
df1[(df1['starts']<df1['ends']) & (df1['starts'].shift(-1)>=df1['ends'])]
編輯:正如@mozway在評論部分所說,它被稱為“運算子優先級”
uj5u.com熱心網友回復:
第一次添加第二次()更改dfdf1
out = df1[ (df1['starts']<df1['ends']) & (df1['starts'].shift(-1)>=df1['ends']) ]
Out[410]:
starts ends
0 5 8
1 9 16
2 21 24
3 25 28
4 30 33
5 34 37
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467779.html
標籤:python-3.x 熊猫
上一篇:PythonPandas-如何使.replace函式與dict和條件一起使用?
下一篇:具有復合表情行為的熊貓面具
