Python Pandas中根据列的值选取多行数据

yipeiwu_com5年前Python基础

Pandas中根据列的值选取多行数据

# 选取等于某些值的行记录 用 == 
df.loc[df['column_name'] == some_value]
# 选取某列是否是某一类型的数值 用 isin
df.loc[df['column_name'].isin(some_values)]
# 多种条件的选取 用 &
df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)]
# 选取不等于某些值的行记录 用 !=
df.loc[df['column_name'] != some_value]
# isin返回一系列的数值,如果要选择不符合这个条件的数值使用~
df.loc[~df['column_name'].isin(some_values)]
import pandas as pd 
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
  'B': 'one one two three two two one three'.split(),
  'C': np.arange(8), 'D': np.arange(8) * 2})
print(df)
   A   B C  D
0 foo  one 0  0
1 bar  one 1  2
2 foo  two 2  4
3 bar three 3  6
4 foo  two 4  8
5 bar  two 5 10
6 foo  one 6 12
7 foo three 7 14
print(df.loc[df['A'] == 'foo'])
   A   B C  D
0 foo  one 0  0
2 foo  two 2  4
4 foo  two 4  8
6 foo  one 6 12
7 foo three 7 14
# 如果你想包括多个值,把它们放在一个list里面,然后使用isin
print(df.loc[df['B'].isin(['one','three'])])
   A   B   C  D
0 foo  one 0  0
1 bar  one 1  2
3 bar three 3  6
6 foo  one 6 12
7 foo three 7 14
df = df.set_index(['B'])
print(df.loc['one'])
 A  B  C   D
one foo 0  0
one bar 1  2
one foo 6 12
A  B  C  D  
one foo 0  0
one bar 1  2
two foo 2  4
two foo 4  8
two bar 5  10
one foo 6  12

总结

以上所述是小编给大家介绍的Python Pandas中根据列的值选取多行数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python3多线程知识点总结

多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理。 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以...

Python中条件选择和循环语句使用方法介绍

同C语言、Java一样,Python中也存在条件选择和循环语句,其风格和C语言、java的很类似,但是在写法和用法上还是有一些区别。今天就让我们一起来了解一下。 一.条件选择语句 Pyt...

详解python列表(list)的使用技巧及高级操作

1、合并列表(extend) 跟元组一样,用加号(+)将两个列表加起来即可实现合并: In [1]: x=list(range(1, 13, 2)) In [2]: x + ['b'...

Python3实现的字典、列表和json对象互转功能示例

本文实例讲述了Python3实现的字典、列表和json对象互转功能。分享给大家供大家参考,具体如下: python3可以使用json模块操作json json.dumps(): 对jso...

OpenCV 模板匹配

OpenCV 模板匹配

最近小编实现一个微信小程序「跳一跳」的自动化。 主要涉及到了OpenCV的模板匹配和边缘检测技术,以及Android开发调试工具ADB。 如果放在一起说,感觉内容有些多。 所以,分三期来...