Как отфильтровать несколько CSV-файлов по строкам для определенных значений столбцов - PullRequest
0 голосов
/ 21 января 2019

Я пишу код, в котором я использую CSV-файлы, которые содержат обзоры из разных публикаций (это столбец 3 в CSV-файлах).Я должен выбрать строки, где публикация - «Нью-Йорк Таймс» или «Атлантик».Как я могу сделать это для нескольких файлов CSV одновременно?Я загрузил свои CSV-файлы (данные содержат 3 файла) в словарь данных.Вот как я загрузил свои данные:

filenames = glob('articles*.csv') 

dataframe_dict = {}
for i in filenames:
    dataframe_dict[i] = pd.read_csv(i, sep = ',', header = None)

print(dataframe_dict['articles1.csv'])

Ответы [ 2 ]

0 голосов
/ 21 января 2019

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

dataframe_dict_filtered_idx = dataframe_dict['articles1.csv'][3] == 'New York Times'
dataframe_dict_filtered_idx2 = dataframe_dict['employeesDetails.csv'][3] == 'Atlantic'

dataframe_dict_filtered = dataframe_dict['articles1.csv'][dataframe_dict_filtered_idx | dataframe_dict_filtered_idx2]
0 голосов
/ 21 января 2019

Вы можете взглянуть на dataframe.query ()
Обратите внимание, что вам может потребоваться установить заголовки на True.

Попробуйте:

results = dataframe_dict['articles1.csv'].query(
    'the_header_name == "New York Times" '
    'or the_header_name == "Atlantic"'
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...