Я новичок в науке о данных с Python.Итак, я хотел поиграть со следующими данными "https://www.ssa.gov/OACT/babynames/limits.html." Основная проблема здесь в том, что вместо того, чтобы давать мне один файл, содержащий данные за все годы, он содержит отдельный файл для каждого года. Кроме того, каждый отдельныйВ файле также отсутствуют заголовки столбцов.
К вашему сведению, данные содержат имена, пол и некоторый идентификационный номер всех зарегистрированных граждан США начиная с 1910 года. Данные доступны для общественности (предназначены для помощи демографам в отслеживании тенденций в популярныхимена).
Таким образом, одной из основных проблем, с которыми я сталкиваюсь, является необходимость редактировать более 100 файлов напрямую (вручную, открывать каждый и редактировать), чтобы гарантировать, что все заголовки столбцов совпадают (что являетсятребуется для работы такой функции, как concat).
Еще одна большая проблема - масштаб задачи. Очень и очень неэффективно использовать concat для файлов 100 *, а также использовать более 100 строккод просто сканирует / читает ваши данные
Конечно, «concat» был создан для этого, ноЯ думаю, что это неэффективно использовать около 130 файлов.Что касается отсутствующих заголовков столбцов, я вручную отредактировал некоторые файлы, но их слишком много, чтобы их можно было редактировать напрямую.
names2010 = pd.read_csv("../yob2010.txt")
names2011 = pd.read_csv("../yob2011.txt")
names = pd.concat([names2010, names2011])
Интуитивно, это то, чего я хочу избежать>
#rough notation
names = pd.concat([names1910, names1911 ..., names2017, names2018])
это данные за два года.Мне нужно создать единый фрейм данных, состоящий из всех данных за период с 1910 по 2018 год.
Обновление: я выяснил, как объединить все разные файлы .txt, но все еще нужно разрешить заголовки столбцов.
dataframes = pd.read_csv("../yob1910.txt")
for year in range(1911, 2019):
temp_frame = pd.read_csv("../yob{}.txt".format(year))
dataframes = pd.concat([temp_frame, dataframes])