熊猫,一种获取零值上下零行的有效方法

时间:2020-09-23 15:46:44

标签: python pandas dataframe

我有一个数据帧,其中包含一些零单元格, 我想用一种方法来处理这些问题,其中包括使列均值和最后一行在零以上,然后在第一个之后。

我知道如何通过掉零来求平均值。 我的问题是,如何获得我提到的行?

示例数据框

2020-09-15    211.03
2020-09-16    213.60
2020-09-17    205.69
2020-09-18    208.65
2020-09-19    214.35 # get the value for this row
2020-09-20      0.00
2020-09-21      0.00 
2020-09-22    222.54 # and for this row

1 个答案:

答案 0 :(得分:2)

尝试一下:

col = df['column_name']
cond = col.ne(0) & (
    col.shift().eq(0)      # row above is 0
    | col.shift(-1).eq(0)  # row below is 0
)
df.loc[cond]