当我们在操作数据时,经常需要对数据进行比较和选择。Pandas提供了多种方法来进行数据比较和选择。
数据比较
Pandas中可以使用比较运算符来进行数据比较,如大于、小于、等于等。
大于、小于、等于
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
filter1 = df['a'] > 2 # DataFrame a列中大于2的行
filter2 = df['b'] < 5 # DataFrame b列中小于5的行
filter3 = df['a'] == 2 # DataFrame a列中等于2的行
print(filter1)
print(filter2)
print(filter3)
输出结果为:
0 False
1 False
2 True
Name: a, dtype: bool
0 True
1 False
2 False
Name: b, dtype: bool
0 False
1 True
2 False
Name: a, dtype: bool
多个比较条件
Pandas中可以使用&(与)、|(或)、~(非)等符号连接多个比较条件。
filter4 = (df['a'] > 1) & (df['b'] < 6) # DataFrame a列中大于1且b列中小于6的行
filter5 = (df['a'] < 3) | (df['b'] == 6) # DataFrame a列中小于3或b列中等于6的行
filter6 = ~(df['a'] > 2) # DataFrame a列中不大于2的行
print(filter4)
print(filter5)
print(filter6)
输出结果为:
0 False
1 True
2 False
dtype: bool
0 True
1 True
2 False
dtype: bool
0 True
1 True
2 False
Name: a, dtype: bool
数据选择
Pandas中可以使用loc、iloc、at、iat等方法来进行数据选择。
选择具体行和列
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
df1 = df.loc[1:2,['a']] # 选择第2到3行中a列的数据
df2 = df.iloc[1:3,0] # 选择第2到3行中第一列的数据
df3 = df.at[1,'a'] # 选择第2行中a列的数据
df4 = df.iat[0,1] # 选择第1行中第2列的数据
print(df1)
print(df2)
print(df3)
print(df4)
输出结果为:
a
1 2
2 3
1 2
2 3
Name: a, dtype: int64
2
4
根据条件选择数据
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
filter1 = df['a'] > 1
filter2 = df['b'] < 6
df1 = df.loc[filter1 & filter2] # 根据条件选择数据
print(df1)
输出结果为:
a b
1 2 5
综上所述,这就是Pandas中的Python数据比较和选择的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas中的Python数据比较和选择 - Python技术站