接下来我将为您详细讲解“对pandas里的loc并列条件索引的实例讲解”的完整攻略。
loc
是Pandas DataFrame一种基于标签的索引方式,表示通过标签选取数据,其格式为df.loc[row_indexer,column_indexer]
。
其中,row_indexer
为行索引,可省略。column_indexer
为列索引,也可省略。如果两者都省略,则表示选取整个DataFrame。
假设现在有一个DataFrame,包含3列数据:name
、age
和gender
,其中age
列为整型,gender
列为字符串类型。
我们可以使用&
符号将多个条件连接起来,同时满足多个条件的索引语法格式为:
df.loc[(condition1) & (condition2) & ... & (conditionN), column_indexer]
例如,我们要选取name
为Tom
,age
为18
的行数据,代码如下:
import pandas as pd
data = {'name': ['Tom', 'Jack', 'Mary', 'Lucy', 'Lily'],
'age': [18, 20, 22, 18, 20],
'gender': ['male', 'male', 'female', 'female', 'female']}
df = pd.DataFrame(data)
# 选取name为Tom,age为18的行数据
result = df.loc[(df['name'] == 'Tom') & (df['age'] == 18), :]
print(result)
执行结果为:
name age gender
0 Tom 18 male
我们可以使用|
符号将多个条件连接起来,满足任意一个条件的索引语法格式为:
df.loc[(condition1) | (condition2) | ... | (conditionN), column_indexer]
例如,我们要选取age
为18
或20
的行数据,代码如下:
import pandas as pd
data = {'name': ['Tom', 'Jack', 'Mary', 'Lucy', 'Lily'],
'age': [18, 20, 22, 18, 20],
'gender': ['male', 'male', 'female', 'female', 'female']}
df = pd.DataFrame(data)
# 选取age为18或20的行数据
result = df.loc[(df['age'] == 18) | (df['age'] == 20), :]
print(result)
执行结果为:
name age gender
0 Tom 18 male
1 Jack 20 male
3 Lucy 18 female
4 Lily 20 female
以上就是对Pandas loc并列条件索引的实例讲解的详细攻略,希望可以帮助到您。其中,我们介绍了同时满足多个条件和满足任意一个条件的索引方式,您可以根据实际需求进行灵活应用。如果还有疑问,欢迎继续讨论。
本文链接:http://task.lmcjl.com/news/17161.html