示例:df = df[df.Number = 1]我想筛选特定数字列表的行。例如:
df = df[df.Number = 1]
1,2,3,4,5,6,7,8,9
我尽力了
df3 = df[df.Number == "01"or"02"]
我可以在df3 = df[df.Number == __]之后使用列表吗?
df3 = df[df.Number == __]
xhv8bpkk1#
你的问题不清楚,看起来不连贯,但我认为你应该使用for循环,例如:
for
df3 = [df[index] for index in (2, 3)]
这相当于:
df3 = [df[2], df[3]]
42fyovps2#
可以。过滤df包含1或2:
1
2
df[(df.Number == 1) | (df.Number == 2)] # output : 1, 2
筛选不包含1和2的df:
df[~((df.Number == 1) | (df.Number == 2))] # output : 3, 4, 5, 6, 7, 8, 9
nsc4cvqm3#
isin是根据列表中的数字进行过滤的有效方法:
isin
import pandas as pd df = df = pd.DataFrame(data={"Number":[1,2,3,4,5,6,7,8,9]}) print(df[df.Number.isin([2,3])])
返回:
Number 1 2 2 3
vom3gejh4#
这就是.isin()方法的作用。
df = pd.DataFrame(np.random.randint(0, 5, (5)), columns=['Number']) df
Number 0 0 1 0 2 2 3 2 4 0
df[df.Number.isin([1,2])]
Number 2 2 3 2
如果要排除选区,只需反转选区:
df[~df.Number.isin([1,2])]
Number 0 0 1 0 4 0
4条答案
按热度按时间xhv8bpkk1#
你的问题不清楚,看起来不连贯,但我认为你应该使用
for
循环,例如:这相当于:
42fyovps2#
可以。过滤df包含
1
或2
:筛选不包含
1
和2
的df:nsc4cvqm3#
isin
是根据列表中的数字进行过滤的有效方法:返回:
vom3gejh4#
这就是.isin()方法的作用。
如果要排除选区,只需反转选区: