查找Pandas DataFrame中缺少的样本点数

时间:2017-09-13 17:42:06

标签: python pandas dataframe

我有一个数据框。我丢失的样本/数据点不采用NaN格式,它们已经写成999.99。我的完整问题是:

查找缺失样本的数量,并列出每个缺失样本的日期/时间,以及缺失样本的总数。

代码:

import pandas as pd

df=pd.read_table('EXAMPLE.txt', sep='\s+')

    DATE        TIME            A       B
0   2016-01-01  00:00:00.000    443.30  469.80
1   2016-01-01  00:01:00.000    145.80  470.00
2   2016-01-01  00:02:00.000    999.99  999.99
3   2016-01-01  00:03:00.000    452.20  471.00
4   2016-01-01  00:04:00.000    174.20  461.30
5   2016-01-01  00:05:00.000    745.30  471.90

print(df.loc[df['A']==999.99])

   DATE          TIME          A       B
2  2016-01-01    00:02:00.000  999.99  999.99

所以我在某些方面得到了我的答案,但是,我想要尝试做的是合并一些代码来回答问题,找到缺失样本的数量失踪样本的总数,即使这些明显是显而易见的;我只想在这里寻求完美。

任何想法都将不胜感激,谢谢

1 个答案:

答案 0 :(得分:1)

missing_samples = (df[['A', 'B']] == 999.99)
missing_samples_count = missing_samples.sum().sum()
missing_samples_df = df[missing_samples.any(axis=1)]

>>> missing_samples_df
         DATE          TIME       A       B
2  2016-01-01  00:02:00.000  999.99  999.99

>>> missing_samples_count
2  # (Both 'A' and 'B')