2016-06-27 11 views
-1

におけるデータフレームの名前を変更します。を動的に私は動的にデータセットを作成しようとしているのPython

def CreateDF (indsn, outdsn): 
    outdsn = pd.DataFrame(indsn) 
    .... 
    return outdsn 

CreateDF (phase_df, phase_df2) 

をしかし、それは動作しません、私は次のエラーを取得する:

NameError: name 'phase_df2' is not defined

は、上記を行うことができることリスト内の各データセットのデータセットのリストをループすることもできるので便利ですが、動的に名前を変更する方法がわかりません。

+2

ここで 'phase_df2'はあなたのコードスニペットがこれが宣言されている場所を示さないので、ここで何が間違っているのかがはっきりしています – EdChum

+1

あなたは[MCVE](http://stackoverflow.com/help/mcve)あなたが得ているエラーとは何の関係もありません。 –

+2

そのエラーは、あなたの機能とは何の関係もありません。 df = pd.DataFrame(np.arange(2 * 5).reshape(2,5)) df.columns = ['blah'、以下の例では、phase2_df – SAMO

答えて

0

初期化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 

あなたが動的に賢明

1

あなたは私たちの理由についての情報を与えなかったので、それはまばらだ行を追加することができますこの方法をこれが必要になるか、ソース資料がどのように見えるのか、一般的な考えは次のとおりです。

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) 

変数の代わりに、辞書項目をキーとして名前を付けることができ、各値はデータフレームになります。

関連する問題