我有一个数据帧:
import numpy as np
import pandas as pd
np.random.seed(18)
df = pd.DataFrame(np.random.randint(0,50,size=(10, 2)), columns=list('AB'))
df['Min'] = np.nan
n = 3 # can be changed
目前我使用迭代:
for row in range (0, df.shape[0]-n):
low = []
for i in range (1, n+1):
low.append(df.loc[df.index[row+i], 'B'])
df.loc[df.index[row], 'Min'] = min(low)
但这是一个相当缓慢的过程。请问有没有更有效的办法?非常感谢。你知道吗
杰兹明白了。作为另一种选择,您还可以对该系列进行前滚(正如Andy here所建议的那样)
将^{} 与} :
min
一起使用,然后^{如果性能很重要,请使用this solution:
相关问题 更多 >
编程相关推荐