2017-09-29 298 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)