Как сохранить вывод условия в кадре данных - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь сохранить выходные данные условия if в Dataframe.Ниже приведено то, что я пытаюсь:

import os

filename = "Desktop/sales/10-05-2018"
#check file exists
if(os.path.exists(filename)):
  print("Files received")
else:
  print("No files received")

Вместо того, чтобы печатать вывод, я хотел бы сохранить вывод в Dataframe.Может ли кто-нибудь совет по этому поводу.Благодарю.

1 Ответ

0 голосов
/ 11 мая 2018

Это один из способов сохранить такое отображение в кадре данных.

import os, pandas as pd

df = pd.DataFrame(columns=['filename', 'exists'])

df['file'] = ['file1.csv', 'file2.csv', 'file3.csv']
df['exists'] = df['file'].map(os.path.exists)

Это создаст кадр данных имен файлов в одном столбце и логическую серию в другом, указывающую, существует ли файл.

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

lst = ( ... some iterable ... )
lst_of_lst = [[f, os.path.exists(f)] for f in lst]

df = pd.DataFrame(lst_of_lst, columns=['filename', 'exists'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...