gpt4 book ai didi

python - 删除连续 Pandas 中的前导 0

转载 作者:太空宇宙 更新时间:2023-11-04 08:40:41 27 4
gpt4 key购买 nike

假设我有一个像这样的 DataFrame (df):

    A       B       C       D
0 0.0000 0.0000 0.0000 0.1234
1 0.0000 -0.9760 -0.5268 -0.4261
2 -0.6277 -1.9284 -1.7718 3.4021
3 0.0000 0.0000 -0.0013 2.2955
4 0.6241 -1.9643 -0.6090 2.0827

我想从每一行中删除前导 0.0000s,并将 NaN 作为新“校准”行后面的空白区域,如下所示:

    A       B       C       D
0 0.1234 NaN NaN NaN
1 -0.9760 -0.5268 -0.4261 NaN
2 -0.6277 -1.9284 -1.7718 3.4021
3 -0.0013 2.2955 NaN NaN
4 0.6241 -1.9643 -0.6090 2.0827

是否有一个简单的 pandas 函数可以做到这一点?

最佳答案

让我们使用maskeqapplydropna:

df.mask(df.eq(0)).apply(lambda x: pd.Series(x.dropna().values,index=x.index[:len(x.dropna())]),axis=1)

输出:

        A       B       C       D
0 0.1234 NaN NaN NaN
1 -0.9760 -0.5268 -0.4261 NaN
2 -0.6277 -1.9284 -1.7718 3.4021
3 -0.0013 2.2955 NaN NaN
4 0.6241 -1.9643 -0.6090 2.0827

关于python - 删除连续 Pandas 中的前导 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45200845/

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