DataFrame上次符合条件的行索引
大佬1
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random((10,3)), columns = ['A', 'B', 'C'])
def _get_last_index(arr):
res = arr[arr>0.5].index # get all index
if len(res) == 0: # if there's no matched result, give it nan!
return np.nan
return res[-1]
df["index"]=df["A"].rolling(len(df), min_periods = 1).apply(_get_last_index)
print(df)
大佬2
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random((10, 1)), columns=['A'])
df['new'] = df.index.to_series().where(df['A'].gt(0.5)).ffill()