[英]How to filter multiple rows with explicit values and select a column using pandas
[英]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.