我有一个数据帧,其中一列有大量的Nat。我正在使用isnull()过滤它们,但它似乎不起作用。我正在尝试将一列中的值为null的所有行筛选到另一个数据帧中。你知道吗
列的数据类型是datetime。你知道吗
main['Last Campaign date']
具有以下输出:
0 08-03-2019
1 08-03-2019
2 08-03-2019
3 08-03-2019
4 08-03-2019
5 08-03-2019
6 08-03-2019
7 08-03-2019
8 08-03-2019
9 08-03-2019
10 08-03-2019
11 08-03-2019
12 08-03-2019
13 08-03-2019
14 08-03-2019
15 08-03-2019
16 08-03-2019
17 08-03-2019
18 08-03-2019
19 08-03-2019
20 08-03-2019
21 08-03-2019
22 08-03-2019
23 08-03-2019
24 08-03-2019
25 08-03-2019
26 08-03-2019
27 08-03-2019
28 08-03-2019
29 08-03-2019
...
172801 NaT
172802 NaT
172803 NaT
172804 NaT
172805 NaT
172806 NaT
172807 NaT
172808 NaT
172809 NaT
172810 NaT
172811 NaT
172812 NaT
172813 NaT
172814 NaT
172815 NaT
172816 NaT
172817 NaT
172818 NaT
172819 NaT
172820 NaT
172821 NaT
172822 NaT
172823 NaT
172824 NaT
172825 NaT
172826 NaT
172827 NaT
172828 NaT
172829 NaT
172830 NaT
但是当我使用下面的代码时,它输出0
len(main[main['Last Campaign date'].isnull()])
我试过使用:
main.replace('NaT', np.nan)
len(main[main['Last Campaign date'] == np.nan])
仍然是0。我觉得很奇怪,我觉得这和列的数据类型是datetime有关。你知道吗
试试
main['Last Campaign date'].isna().sum()
如果你只是想数一数。否则,如果您可以使用main.replace(pd.NaT, np.nan)
将NaT替换为nan你可以这样做:
请注意,使用
==
的相等断言不会产生np.nan
所需的结果:相关问题 更多 >
编程相关推荐