pandas:在列中选择第一个和最后一个有效的浮点数

时间:2015-02-22 10:40:44

标签: python pandas

使用如下所示的DataFrame:

     tra98  tra99  tra100  tra101  tra102
0   0.1880  0.345  0.1980  0.2090  0.2190
1   0.2510  0.585  0.2710  0.3240  0.2920
2   0.3240  0.741  0.2190  0.2090  0.2820
3   0.2820  0.825  0.1040  0.1880  0.2400
4   0.2190  1.150  0.0940  0.1360  0.1770
5   0.2300  1.210  0.0522  0.0209  0.0731
6   0.1670  1.290  0.0626  0.0104  0.0104
7   0.0835  1.400  0.0104     NaN     NaN
8   0.0418  1.580     NaN     NaN     NaN
9   0.0209    NaN     NaN     NaN     NaN
10     NaN    NaN     NaN     NaN     NaN
11     NaN    NaN     NaN     NaN     NaN
12     NaN    NaN     NaN     NaN     NaN

如何选择每列中的第一个和最后一个有效值?

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

以下显示如何迭代cols,然后调用dropna(),然后访问调用iloc的第一个和最后一个值:

In [21]:

for col in df:
    valid_col = df[col].dropna()
    print("column:", col, "  first:", valid_col.iloc[0], "  last:", valid_col.iloc[-1])

column: tra98   first: 0.188   last: 0.0209
column: tra99   first: 0.345   last: 1.58
column: tra100   first: 0.198   last: 0.0104
column: tra101   first: 0.209   last: 0.0104
column: tra102   first: 0.219   last: 0.0104