如果3个或更多值(天)缺少数据,则删除日期范围内的所有行

问题描述 投票:0回答:1

我制作了一个数据框,该框具有.isnull列,用于丢失数据的日子。

将熊猫作为pd导入导入csv

Arbdata = pd.read_csv('Arborg1.csv',标头= 0)

date_index = pd.date_range(开始='1951/01/01',句号= Arbdata.shape [0],freq ='d')

Arbdata.insert(0,'TIME',date_index,True)

Arbdata = Arbdata.set_index('TIME')

Arbdata2 = pd.isnull(Arbdata ['Meantemp'])

Arbdata3 = pd.merge(Arbdata,Arbdata2,right_index = True,left_index = True)

我想删除3个(或更多)缺失值或3个“ True”值的月份中的每一天。数据看起来像这样...

索引温度为空

1951/01/25 -23错误

1951/01/26 -24错误

1951/01/27 -22错误

1951/01/28 NaN True

1951/01/29 -21错误

1951/01/30 NaN True

1951/01/31 NaN True

1951/02/01 -15 False

1951/02/02 -18错误

1951/02/03 -19 False

1951/02/04 -19 False

1951/02/05 -14错误

我曾考虑使用pd.dropna(),但这只会影响缺少值的行,我不确定如何删除同一个月中的关联行。我是python新手,任何建议都将不胜感激!

python pandas csv python-3.7
1个回答
0
投票
pd[pd.apply(lambda x: not pandas.isnull(x['Temp']), axis = 1)]

请参见this post以获取更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.