Я пытаюсь динамически создавать наборы данных:
def CreateDF (indsn, outdsn):
outdsn = pd.DataFrame(indsn)
....
return outdsn
CreateDF (phase_df, phase_df2)
Но не получается, появляется следующая ошибка:
NameError: имя 'phase_df2' не определено
Возможность сделать это может быть полезно, потому что я могу также просмотреть список наборов данных (для каждого набора данных в списке), но я не уверен, как их динамически переименовать.
2 ответа
Это немного скудно, потому что вы не предоставили нам информацию о том, почему это должно происходить или как выглядит ваш исходный материал, но общая идея такова:
def make_df(name):
...
return df
dict_of_dfs = dict()
df_names = [] #a list of all the dataframes you want to create
for name in df_names:
dict_of_dfs[name] = make_df(name)
Теперь вместо переменных вы можете называть записи словаря ключами, и каждое значение будет фреймом данных.
Инициализировать df:
df= pd.DataFrame(index=range(0,4),columns=['A','B','C','D'], dtype='object')
Динамически добавлять:
for values in values_np
df.set_value([iterator, 'A', values)
iterator += 1
Таким образом, вы можете динамически добавлять строки
Похожие вопросы
Связанные вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.
phase_df2
, поскольку ваш фрагмент кода не показывает, где это объявленоNameError: name 'phase_df2' is not defined
означает, что переменнаяphase_df2
не определена, покажите нам код, который может воспроизвести эту ошибку.