Как выбрать строки pandas DataFrame, где столбец имеет значения, отличные от Nan [duplicate]

Ошибка связана с выполнением длительных операций в основном потоке. Вы можете легко устранить проблему, используя AsynTask или Thread . Вы можете проверить эту библиотеку AsyncHTTPClient для лучшей обработки.

AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {

    @Override
    public void onStart() {
        // Called before a request is started
    }

    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] response) {
        // Called when response HTTP status is "200 OK"
    }

    @Override
    public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
        // Called when response HTTP status is "4XX" (for example, 401, 403, 404)
    }

    @Override
    public void onRetry(int retryNo) {
        // Called when request is retried
    }
});

80
задан ccsv 21 March 2014 в 08:04
поделиться

2 ответа

Просто отбросьте их:

nms.dropna(thresh=2)

это приведет к потере всех строк, где есть по крайней мере два не NaN

, после чего вы можете отбросить его имя NaN:

In [87]:

nms
Out[87]:
  movie    name  rating
0   thg    John       3
1   thg     NaN       4
3   mol  Graham     NaN
4   lob     NaN     NaN
5   lob     NaN     NaN

[5 rows x 3 columns]
In [89]:

nms = nms.dropna(thresh=2)
In [90]:

nms[nms.name.notnull()]
Out[90]:
  movie    name  rating
0   thg    John       3
3   mol  Graham     NaN

[2 rows x 3 columns]

EDIT

На самом деле, глядя на то, что вы изначально хотите, вы можете сделать это без вызова dropna:

nms[nms.name.notnull()]

UPDATE

Глядя на этот вопрос через 3 года, возникает ошибка, во-первых, thresh arg ищет значения leas n non NaN, поэтому на самом деле выход должно быть:

In [4]:
nms.dropna(thresh=2)

Out[4]:
  movie    name  rating
0   thg    John     3.0
1   thg     NaN     4.0
3   mol  Graham     NaN

Возможно, что я ошибся 3 года назад или что версия панд, с которой я работал, имела ошибку, оба сценария вполне возможны

127
ответ дан EdChum 31 August 2018 в 12:25
поделиться

Самый простой из всех решений:

filtered_df = df[df['name'].notnull()]

Таким образом, он отфильтровывает только строки, которые не имеют значений NaN в столбце «name».

62
ответ дан user2285236 31 August 2018 в 12:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: