TLDR:如果您需要一种将给定索引值(在本例中为aDatetimeIndex
)映射为其等效整数的方法,则要求get_loc
,如果您只是想从Series中找到整数索引,请argmax
与基础numpy
数组一起使用。
设定
np.random.seed(3483203)
df = pd.DataFrame(
np.random.choice([0, np.nan], 5),
index=pd.date_range(start='2018-01-01', freq='1D', periods=5)
)
Run Code Online (Sandbox Code Playgroud)
0
2018-01-01 NaN
2018-01-02 NaN
2018-01-03 0.0
2018-01-04 NaN
2018-01-05 NaN
Run Code Online (Sandbox Code Playgroud)
使用pandas.Index.get_loc
此处,这是为给定标签返回整数索引的常规函数:
>>> idx = df[0].first_valid_index()
>>> idx
Timestamp('2018-01-03 00:00:00', freq='D')
>>> df.index.get_loc(idx)
2
Run Code Online (Sandbox Code Playgroud)
如果您想完全避免查找datetime
索引,则可以argmax
在基础numpy
数组上使用:
>>> np.argmax(~np.isnan(df[0].values))
2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1989 次 |
最近记录: |