温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中怎么利用Pandas根据列的值选取多行数据

发布时间:2021-06-17 16:21:11 来源:亿速云 阅读:572 作者:Leah 栏目:开发技术

Python中怎么利用Pandas根据列的值选取多行数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI