使用 时DataFrame.first_valid_index()
,结果是其中一列不是 NaN 的索引。是否有一个函数返回两个列都不是 NaN 的第一个有效索引?
问问题
271 次
1 回答
1
设置
In [67]: df = DataFrame(randn(10,2),index=pd.date_range('20000101',periods=10))
In [68]: df.iloc[0:3,0] = np.nan
In [69]: df.iloc[0:2,1] = np.nan
In [70]: df
Out[70]:
0 1
2000-01-01 NaN NaN
2000-01-02 NaN NaN
2000-01-03 NaN -1.680185
2000-01-04 1.035485 -2.419576
2000-01-05 0.247941 -0.188783
2000-01-06 -0.328304 -1.579425
2000-01-07 1.209671 1.616452
2000-01-08 -1.050443 0.043022
2000-01-09 -1.342633 -1.188946
2000-01-10 -0.365231 -1.712874
方法一
In [71]: df.apply(lambda x: x.first_valid_index())
Out[71]:
0 2000-01-04 00:00:00
1 2000-01-03 00:00:00
dtype: datetime64[ns]
In [72]: df.apply(lambda x: x.first_valid_index()).max()
Out[72]: Timestamp('2000-01-04 00:00:00', tz=None)
方法二
subset=list_of_columns
如果您想在此处有选择地限制它(例如 2 列),您可以使用dropna
In [74]: df.dropna().first_valid_index()
Out[74]: Timestamp('2000-01-04 00:00:00', tz=None)
于 2013-08-05T19:31:14.937 回答