between()函數


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
View Code

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM