2016-12-28 2 views
0

Я пытаюсь создать несколько dataframes пустого панда следующим образом:питон панды: создать несколько пустого dataframes

dfnames = ['df0', 'df1', 'df2'] x = pd.Dataframes for x in dfnames

выше упоминалась линия возвращает синтаксис ошибки. Каким будет правильный способ создания данных?

+0

вероятно 'DF = [Pd .DataFrame() для _ в диапазоне (3)] ', а затем у вас есть список с' df [0] ',' df [1] ',' df [2] ' – furas

+1

Чтобы получить' dict' use - '{ x: pd.DataFrame() для x в dfnames}. Обратите внимание на добавочную скобку при вызове пустой фреймворка. –

ответ

2
  1. конструктор pd.Dataframe должен вызываться как функция, за которым следуют скобки(). Теперь вы ссылаетесь на модуль pd.dataframes (также обратите внимание на окончательные 's').
  2. Используемая для x-конструкция создает последовательность. В этой форме вы не можете назначить его переменной x. Вместо этого вложите все справа от знака равенства '=' in() или []
  3. Обычно не рекомендуется использовать одну и ту же переменную x как с левой стороны, так и с правой стороны задания, хотя он не даст вам языковой ошибки (но, возможно, большой путаницы!).
  4. , чтобы связать имена в именах fdnames с фреймами данных, используйте, например, ДИКТ:

    dataFrames = {(имя, pd.DataFrame()) для имени в dfnames}

0

Вы не можете иметь много кадров данных в пределах одного имени переменной, здесь вы пытаетесь сохраните все пустые информационные кадры в x. Кроме того, вы используете неправильное имя атрибута, это pd.DataFrame, а не pd.Dataframes.

Я сделал это, и это worked-

dfnames = ['df0', 'df1', 'df2'] x = [pd.DataFrame for x in dfnames]

0

Если вы хотите создать переменные, которые содержат пустые DataFrames, это будет делать то, что вам нужно:

dfnames = ['df0', 'df1', 'df2'] 

for x in dfnames: exec(x + ' = pd.DataFrame()') 
Смежные вопросы