我想通過每行的函數來過濾行,例如,pandas:DataFrame的行上的複雜過濾器
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)]
我怎麼可以這樣做?
在這種情況下沒有必要申請。一個普通的布爾索引可以正常工作。 'df [df ['b]> df ['c']]'。有很少的情況實際上需要'應用',甚至很少有需要'axis = 1'的情況 – 2017-11-06 17:28:48