1 between函數返回一個布爾量,即如果在該范圍內,返回True,否則返回False.
注意between()中括號內是左閉右閉區間
在dataframe中常可用來通過選擇某一列元素的范圍來選擇另一列或幾列.

import pandas as pd import numpy as np df = pd.DataFrame(np.arange(24).reshape(6,4), columns=list('ABCD')) print(df) a = df['A'].between(3,13) # 可直接利用a選中滿足范圍的所有行 print('df[a] is: \n', df[a]) # 利用a選中某一列 # 注意這里的兩種類型不同,第一種是series,第二種是Dataframe,加不加[]的微妙區別 r1 = df[a]['D'] print(r1) print('r1的類型是:', type(r1)) r2 = df[a][['D']] print(r2) print('r2的類型是:', type(r2)) # 選中某兩列 print(df[a][['D','C']]) #注意between()中括號內是左閉右閉區間,所以可以用如下方式寫,相當與篩選某一元素 print(df[df['A'].between(12,12)][['A','B']]) # A B C D # 0 0 1 2 3 # 1 4 5 6 7 # 2 8 9 10 11 # 3 12 13 14 15 # 4 16 17 18 19 # 5 20 21 22 23 # df[a] is: # A B C D # 1 4 5 6 7 # 2 8 9 10 11 # 3 12 13 14 15 # 1 7 # 2 11 # 3 15 # Name: D, dtype: int64 # r1的類型是: <class 'pandas.core.series.Series'> # D # 1 7 # 2 11 # 3 15 # r2的類型是: <class 'pandas.core.frame.DataFrame'> # D C # 1 7 6 # 2 11 10 # 3 15 14 # A B # 3 12 13
import pandas as pd import numpy as np df = pd.DataFrame(np.arange(24).reshape(6,4), columns=list('ABCD')) print(df) a = df['A'].between(3,13) # 可直接利用a選中滿足范圍的所有行
print('df[a] is: \n', df[a]) # 利用a選中某一列 # 注意這里的兩種類型不同,第一種是series,第二種是Dataframe,加不加[]的微妙區別
r1 = df[a]['D'] print(r1) print('r1的類型是:', type(r1)) r2 = df[a][['D']] print(r2) print('r2的類型是:', type(r2)) # 選中某兩列
print(df[a][['D','C']]) # A B C D # 0 0 1 2 3 # 1 4 5 6 7 # 2 8 9 10 11 # 3 12 13 14 15 # 4 16 17 18 19 # 5 20 21 22 23 # df[a] is: # A B C D # 1 4 5 6 7 # 2 8 9 10 11 # 3 12 13 14 15 # 1 7 # 2 11 # 3 15 # Name: D, dtype: int64 # r1的類型是: <class 'pandas.core.series.Series'> # D # 1 7 # 2 11 # 3 15 # r2的類型是: <class 'pandas.core.frame.DataFrame'> # D C # 1 7 6 # 2 11 10 # 3 15