Панды, не фильтрующие на основе значения столбца - PullRequest
0 голосов
/ 07 декабря 2018

Мне удалось отфильтровать значения столбцов, однако для этого кадра данных фильтр возвращает кадр данных NaN после фильтра.Я не уверен, где я не прав.Я публикую коды с результатами.

import pandas as pd
df = pd.read_csv("http://portal.amfiindia.com/DownloadNAVHistoryReport_Po.aspx?mf=17&tp=1&frmdt=04-Nov-2017&todt=02-Dec-2018",sep=";",parse_dates=['Date'])
df=df.drop(['Repurchase Price','Sale Price'],axis=1)
df = df.dropna()
df['Net Asset Value'] = df['Net Asset Value'].apply(pd.to_numeric,errors='coerce')
df.columns = [['scheme_code','scheme','nav','date']]
df[df['scheme_code'] == '123690']

Результат фильтра:

      scheme_code scheme                  nav date
2          123690    NaN                  nan  NaT
3          123690    NaN                  nan  NaT
4          123690    NaN                  nan  NaT
5          123690    NaN                  nan  NaT
6          123690    NaN                  nan  NaT
7          123690    NaN                  nan  NaT
8          123690    NaN                  nan  NaT
9          123690    NaN                  nan  NaT
10         123690    NaN                  nan  NaT
11         123690    NaN                  nan  NaT
12         123690    NaN                  nan  NaT
13         123690    NaN                  nan  NaT
14         123690    NaN                  nan  NaT
15         123690    NaN                  nan  NaT
16         123690    NaN                  nan  NaT
17         123690    NaN                  nan  NaT
18         123690    NaN                  nan  NaT
19         123690    NaN                  nan  NaT
20         123690    NaN                  nan  NaT
21         123690    NaN                  nan  NaT
22         123690    NaN                  nan  NaT
23         123690    NaN                  nan  NaT
24         123690    NaN                  nan  NaT
25         123690    NaN                  nan  NaT
26         123690    NaN                  nan  NaT
27         123690    NaN                  nan  NaT
28         123690    NaN                  nan  NaT
29         123690    NaN                  nan  NaT
30         123690    NaN                  nan  NaT
31         123690    NaN                  nan  NaT

Однако, если я посмотрю на метод заголовка блока данных, я смогу увидеть реальные данные со значениями

  scheme_code                               scheme                  nav  \
2      123690  Kotak Banking and PSU Debt - Growth                38.60   
3      123690  Kotak Banking and PSU Debt - Growth                38.58   
4      123690  Kotak Banking and PSU Debt - Growth                38.58   
5      123690  Kotak Banking and PSU Debt - Growth                38.59   
6      123690  Kotak Banking and PSU Debt - Growth                38.59   

        date  
2 2017-11-06  
3 2017-11-07  
4 2017-11-08  
5 2017-11-09 

Я также пытался преобразовать в числовые, но я вижу тот же результат.Буду признателен, если кто-нибудь поможет мне разобраться в чем ошибка.

1 Ответ

0 голосов
/ 07 декабря 2018

Проблема заключается в том, что вы указываете столбцы в виде списка списка (обратите внимание на двойные скобки), поэтому условие не выполняется.Просто измените его на простой список:

df.columns = ['scheme_code','scheme','nav','date']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...