각 행의 함수로 행을 필터링하고 싶습니다. 예 :
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