की पंक्तियों पर जटिल फ़िल्टर मैं पंक्तियों को प्रत्येक पंक्ति के फ़ंक्शन द्वारा फ़िल्टर करना चाहता हूं, उदा।पांडा: डेटाफ्रेम
def f(row):
return sin(row['velocity'])/np.prod(['masses']) > 5
df = pandas.DataFrame(...)
filtered = df[apply_to_all_rows(df, f)]
या किसी अन्य अधिक जटिल, काल्पनिक उदाहरण के लिए,
def g(row):
if row['col1'].method1() == 1:
val = row['col1'].method2()/row['col1'].method3(row['col3'], row['col4'])
else:
val = row['col2'].method5(row['col6'])
return np.sin(val)
df = pandas.DataFrame(...)
filtered = df[apply_to_all_rows(df, g)]
कैसे मैं ऐसा कर सकते हैं?
इस स्थिति में 'आवेदन' करने की कोई आवश्यकता नहीं है। एक नियमित बुलियन सूचकांक ठीक काम करेगा। 'डीएफ [डीएफ ['बी]> डीएफ [' सी ']]'। ऐसी बहुत कम स्थितियां हैं जिन्हें वास्तव में 'लागू' की आवश्यकता होती है और यहां तक कि कुछ जिन्हें इसे 'अक्ष = 1' के साथ चाहिए –