मैं प्रत्येक पंक्ति के एक फ़ंक्शन द्वारा पंक्तियों को फ़िल्टर करना चाहूंगा, जैसे
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)]
ऐसा मैं किस प्रकार करूं?
applyइस स्थिति में कोई जरूरत नहीं है। एक नियमित बूलियन इंडेक्स ठीक काम करेगा।df[df['b] > df['c']]। ऐसी बहुत कम स्थितियाँ हैं जिनकी वास्तव में आवश्यकता होती हैapplyऔर कुछ के साथ भी इसकी आवश्यकता होती हैaxis=1