2017-09-29 296 views
0

我試圖有條件地降行了大熊貓據幀,用語法如:熊貓條件下降

if ((df['Column_1'] == 'value_1') & (df['Column_2'] == 'value_2')): 
    df['Columns_3'] == df['Column_4'] 
else: 
    df.drop() 

在此先感謝您的幫助。

回答

0

試着這麼做

df = df.drop(df[(df['Column1'] != 'value_1') & (df['Colum2'] != 'value_2')].index) 
df['Column3'] = df['Column4'] 
+0

這看起來正確的,但它可以在多種條件下擴展嗎?在if語句和drop之前的文章中說,你有:'elif((df ['Column_1'] =='value_1')&(df ['Column_2']。isin(['value_3','value_4' ,'value_5'])))。all():df ['Column_3'] == df ['Column_5']' – Breton

0
df.loc[(df['Column_1'] == 'value_1') & (df['Column_2'] == 'value_2'),'Column3'] = df.loc[(df['Column_1'] == 'value_1') & (df['Column_2'] == 'value_2'),'Column4'] 

df = df[df['Column3]==df['Column4'] 

當大熊貓的工作,最好能進入的嘗試使用一些實踐內置的C循環功能。

根據上述條件,還會有更新第3列的方法。儘管如此,我還是需要一個數據集來玩。喜歡的東西...

df['Column3'].update(the_condition) 

更新要求的指標排隊

也可以考慮轉換和應用

df['Column3'].transform(the_condition) 

或:

df['Column3'].apply(the_condition)