У меня есть два CSV файла с именем master_registry.csv и master_reference.csv. Используя эти CSV, я создал несколько новых фреймов данных, называемых "df" и "df2". Объединив эти "df" и "df2" кадры данных, я создал новый фрейм данных под названием "new_df". Проблема в том, что я хочу найти значение внутри этого кадра данных "new_df". Но когда я пытаюсь получить результат, он дает мне ошибку.
Это код
# reading csv from the directory
df = pd.read_csv('application/master_registry.csv')
df2 = pd.read_csv('application/master_reference.csv')
# filtering some selected columns form the csv
df = df.filter(items=['Master_ID', 'Provider First Name', 'Provider Middle Name', 'Provider Last Name (Legal Name)', 'Provider Credential Text', 'Provider Gender Code','Provider License Number State Code_1',
'Provider Business Practice Location Address City Name'])
# creating new data frame with "full name" column
df['Full_Name'] = df[['Provider First Name', 'Provider Last Name (Legal Name)']].apply(lambda x: ' '.join(x), axis=1)
new_df = df.set_index('Master_ID').join(df2.set_index('Master_ID'))
# selecting rows according to the external values
main = new_df[(new_df['Master_ID']==master_id)]
print(main.values.tolist())
Когда я пробую код выше, он дает мне эту ошибку.
C:\Users\ChampsoftWK26\Envs\jerich_core\lib\site-packages\pandas\core\ops.py: 1164: FutureWarning: не удалось выполнить сравнение элементов; вместо этого возвращает скаляр, но в будущем будет выполняться элементное сравнение result = method (y) [2018-06-15 14: 36: 07,148] ОШИБКА в приложении: Исключение/поиск/руководство/результаты/by_npi [POST] Traceback (большинство последний вызов последнего): Файл "C:\Users\ChampsoftWK26\Envs\jerich_core\lib\site-packages\flask\app.py", строка 2292, в ответ wsgi_app = self.full_dispatch_request() Файл "C:\Users\ChampsoftWK26\Envs\jerich_core\lib\site-packages\flask\app.py ", строка 1815, в full_dispatch_request rv = self.handle_user_exception (e) Файл" C:\Users\ChampsoftWK26\Envs\jerich_core\lib\site-packages\flask\app.py ", строка 1718, в handle_user_exception reraise (exc_type, exc_value, tb) Файл" C:\Users\ChampsoftWK26\Envs\jerich_core\lib\site-packages\flask_compat.py ", строка 35, в ререйзе raise value Файл "C:\Users\ChampsoftWK26\Envs\jerich_core\lib\site-packages\flask\app.py", строка 1813, в full_dispatch_request rv = self.dispatch_request() Файл "C:\Users\ChampsoftWK26\Envs\jerich_core\Lib\сайта-пакеты\колба\app.py", строка 1799, в dispatch_request return self.view_functionsrule.endpoint Файл "C:\Users\ChampsoftWK26\Desktop\Jericho_v0.0.7\application\routes.py", строка 41, в search_manual_results_by_npi info = hub.process_search_by_npi (npi) Файл "C:\Users\ChampsoftWK26\Desktop\Jericho_v0.0.7\application\hub.py ", строка 152, в файле process_search_by_npi print (new_df ['Client_Reference_ID'] == npi) Файл" C:\Users\ChampsoftWK26\Envs\jerich_core\lib\site-packages\pandas\core\ops.py ", строка 1253, в обертке res = na_op (значения, другие) Файл" C:\Users\ChampsoftWK26\Envs\jerich_core\lib\site-packages\pandas\core\ops.py ", строка 1166, в na_op raise TypeError (" недопустимое сравнение типов ") TypeError: недопустимое сравнение типов 127.0.0.1 - - [15/Jun/2018 14:36:07]" POST/search/manual/results/by_npi HTTP/1.1 "500 -
Новый__подобный
Provider First Name ... Client_Reference_ID
Master_ID ...
1 WILLIAM ... 1588667638
2 RICHARD ... 1114920261
3 FRANCISCO ... 1861495814
4 ERIC ... 1306849336
5 RICHARD ... 1326041476
6 GHAITH ... 1770586828
7 TREVOR ... 1124021274
Вам нужно получить строку по индексу, попробуйте следующее:
main = new_df.loc[[master_id]]
Например
new_df.loc[[2]]
Возвращает
Provider First Name Client_Reference_ID
Master_ID
2 RICHARD 1114920261
Кажется, что Master_ID
- ваш индекс. В этом случае это должно работать:
'your id' in new_df.index
Что дает true
или false
если индекс существует.
Или преобразовать его в столбец, а затем продолжить с кодом:
new_df['Master_ID'] = df.index
main = new_df[(new_df['Master_ID']==master_id)]