簡體   English   中英

如何在不使用列名的情況下使用熊貓過濾行-循環過濾器

[英]How to filter rows with pandas without using the column name - loop filter

我正在嘗試使用Pandas過濾DataFrame中的行,而不是使用:

df[(df.ColumnA == 1)]

我希望能夠做到這一點:

i = 'A'
x = 'Column'+'i'
df[(df.x == 1)]

我的目的是循環進入列過濾器。 如果可以,那就更好了:

i = A
x = 'Column'+'i'
y = 1
df[(df.x == y)]

請允許我在各列中循環並在過濾器類型中循環:

謝謝!

如果您試圖從DataFrame中獲取一個Series,但是由於遇到了麻煩. 表示法不允許使用變量,可以改用方括號:

i = 'A'
column = 'Column' + i
df = df[df[column] == 1]

您還可以循環創建一個遮罩並一次應用所有遮罩:

column_base = 'Column'
suffixes = ['A','B','C','D']
mask = None

for i in suffixes:
    column = column_base + i
    if mask is None:
        mask = df[column] == 1
    else:
        mask &= df[column] == 1

df = df[mask]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM