gpt4 book ai didi

python-2.7 - 获取 Pandas 数据框每一列中最后一个非 NaN 值的行索引

转载 作者:行者123 更新时间:2023-12-01 04:34:18 24 4
gpt4 key购买 nike

如何为 Pandas 数据框的每一列返回最后一个非 nan 值的行索引位置,并将位置作为 Pandas 数据框返回?

最佳答案

使用 notnull 特别是 idxmax 获取非 NaN 的索引值值(value)观

In [22]:

df = pd.DataFrame({'a':[0,1,2,NaN], 'b':[NaN, 1,NaN, 3]})
df
Out[22]:
a b
0 0 NaN
1 1 1
2 2 NaN
3 NaN 3
In [29]:

df[pd.notnull(df)].idxmax()
Out[29]:
a 2
b 3
dtype: int64

编辑

实际上正如@Caleb 正确指出的那样,您可以使用 last_valid_index 这是为此而设计的:
In [3]:
df = pd.DataFrame({'a':[3,1,2,np.NaN], 'b':[np.NaN, 1,np.NaN, -1]})
df

Out[3]:
a b
0 3 NaN
1 1 1
2 2 NaN
3 NaN -1

In [6]:
df.apply(pd.Series.last_valid_index)

Out[6]:
a 2
b 3
dtype: int64

关于python-2.7 - 获取 Pandas 数据框每一列中最后一个非 NaN 值的行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25359658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com