讓我說我有一個DataFrame,其中的數據是按照時間排序的。我有一列作爲權重,我想找到相對於當前指數的最大權重。例如,第10行的最大值將從元素11到結尾。
我結束了寫這個功能。但是,表現是一個很大的威脅。獲取相對於熊貓中當前索引的最大值python
import pandas as pd
df=pd.DataFrame({"time":[100,200,300,400,500,600,700,800],"weights":
[120,160,190,110,34,55,66,33]})
totalRows=df['time'].count()
def findMaximumValRelativeToCurrentRow(row):
index= row.name
if index!= totalRows:
tempDf = df[index:totalRows]
val=tempDf['weights'].max()
df.set_value(index,'max',val)
else:
df.set_value(index,'max',row['weights'])
df.apply(findMaximumValRelativeToCurrentRow,axis=1)
print df
有什麼更好的辦法做到比這個操作?
請提供您的數據的樣本。給定 – pshep123
...用增強的代碼更新了問題 –