Python Pandas,获得零值以下和零值以上行的有效方法
我有一个数据框,其中包含一些带零的单元格, 我想用一种方法来处理这些问题,包括得到列的平均值,最后一行在零上,后面第一行在零上 我知道如何通过去掉零来得到平均值。 我的问题是,我如何获得我提到的行 示例数据帧Python Pandas,获得零值以下和零值以上行的有效方法,python,pandas,dataframe,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
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
试试这个:
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]
试试这个:
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]
df[column\u name].value\u counts()将不提供零的实例,然后仅减去平均公式中的实例df[column\u name].value\u counts()将不提供零的实例,然后仅减去平均公式中的实例