Просто, чтобы подчеркнуть свой комментарий к ответу @ maxymoo, это почти всегда плохая идея («запах кода») для динамического добавления имен в пространство имен Python. Существует ряд причин, наиболее значимых:
Созданные имена могут легко противоречить переменным, уже используемым вашей логикой.
Поскольку имена динамически создаются, вы обычно также используете динамические методы для извлечения данных.
Именно поэтому в этот язык были включены дикты. Правильный способ продолжить это:
d = {}
for name in companies:
d[name] = pd.DataFrame()
В настоящее время вы можете написать один Dict постижение выражение делать то же самое, но некоторые люди считают его менее читаемым:
d = {name: pd.DataFrame() for name in companies}
После d
создается DataFrame
для компании x
можно получить как d[x]
, так что вы можете легко найти конкретную компанию. Для того, чтобы работать на все компании, которые Вы обычно используете цикл вроде:
for name, df in d.items():
# operate on DataFrame df for company name
В Python 2 вы лучшее письмо
for name, df in d.iteritems():
, поскольку это позволяет избежать инстанцирования списка (name, df)
кортежей.
Вы хотите, чтобы каждая компания находилась в отдельной колонке или все компании в одной колонке? – Scott
Если вам нужна DataFrame для каждой компании, какие данные будут содержать каждый? – Alexander