2
我是新來的python,我想做這個特殊的任務,這對我來說似乎並不明顯。我甚至不知道要搜索什麼才能找到它。首先這裏是代碼片段,我會解釋我的目標在它下面:如何從熊貓數據框中動態選擇一個子集?
import pandas as pd
mycolumns = ['col1', 'col2', 'col3']
df = pd.DataFrame(data=[[**1**,2,3,**1**,5,6],[1,2,3,4,5,6]],
columns=['col1_l', 'col2_l', 'col3_l', 'col1_r', 'col2_r', 'col3_r'])
criteria = list()
for col in mycolumns :
criterion = (df[col + '_l'] == df[col + '_r'])
criteria.append(criterion)
df = df[criteria[0] | criteria[1] | ... | criteria[5]]
print df
輸出:
col1_l col2_l col3_l col1_r col2_r col3_r
0 1, 2, 3, 1, 5, 6
我要的是能夠選擇滿足數據框行所有指定的標準,但問題是列的數量不固定,每次運行可能有不同數量的列,我希望每次執行此操作時都會執行相同的操作。問題是,我怎麼能寫這樣一行:
df = df[criteria[0] | criteria[1] | ... | criteria[5]]
請記住,數據幀從一個連接SQL查詢在數據庫中獲得的,我只是寫了澄清這個例子中數據幀。謝謝你,如果這很明顯,請原諒我。