删除列中的nan元组

时间:2018-10-26 01:51:36

标签: python pandas

我有一个包含(lat,lon)元组的数据框,但是有一些行包含nan元组。如何删除或检测到这些?

示例:

import pandas as pd
import numpy as np

df = pd.DataFrame(data={'location': [1, 2, 3],
                        'coor': [(14.48847, 103.161477),
                              (14.970084, 103.062853),
                              (np.nan, np.nan)]})


    location    coor
0   A   (14.48847, 103.161477)
1   B   (14.970084, 103.062853)
2   C   (nan, nan)

我尝试过。

df.isna()

    location    coor
0   False   False
1   False   False
2   False   False

df.dropna()

    location    coor
0   A   (14.48847, 103.161477)
1   B   (14.970084, 103.062853)
2   C   (nan, nan)

但这根本不起作用。我应该将元组分成两列,还是有一种方法来处理这些问题?任何帮助或指导将不胜感激。

2 个答案:

答案 0 :(得分:2)

不应用将加快速度

 <ion-input placeholder="Senha" name="password" type="password" [(ngModel)]="user.password"></ion-input>

答案 1 :(得分:1)

您可以尝试使用lambda函数进行过滤

df[~df.coor.apply(lambda x: np.isnan(x[0]) & np.isnan(x[1]))]
# prints
   location                     coor
0         1   (14.48847, 103.161477)
1         2  (14.970084, 103.062853)