私は、特定の株式の日付と株価でいくつかの小さなデータフレーム数を持っています。 Someone elseは、それらをループする方法を示しているので、all_dfsというリストに含まれています。だから、all_dfs[0]
日でデータフレームになりとIBM米国株式、all_dfs[1]
は日となどMMM米国株式、(例を下記に示す)になります。データフレーム内の日付列は常に同じですが、株価名はすべて異なり、その株価列に関連付けられた数値は常に異なります。あなたがall_dfs[1]
を呼び出すときに、これはあなたが見ることがデータフレームがある(すなわち、all_dfs[1].head()
):複数のデータフレームに複数の列を追加する
IDX Date MMM US equity
0 1/3/2000 47.19
1 1/4/2000 45.31
2 1/5/2000 46.63
3 1/6/2000 50.38
私はすべてのデータフレームに同じ追加の列を追加します。だから私はそれらをループして列を追加しようとしていました。株式名列の数値は、他の列を作成する計算の基礎となります。
追加するには複数の列がありますが、私は彼らがこの同じ方法のSOCを介してすべてのループは、私が追加したい列のサンプルであるだろうと思う:これは私がこれまで持っているコードです
Column 1 to add >>> df['P_CHG1D'] = df['Stock name #1'].pct_change(1) * 100
Column 2 to add >>> df['PCHG_SIG'] = P_CHG1D > 3
Column 3 to add>>> df['PCHG_SIG']= df['PCHG_SIG'].map({True:1,False:0})
all_dfs[i]
の構文エラーが返されています。
for i in range (len(df.columns)):
for all_dfs[i]:
df['P_CHG1D'] = df.loc[:,0].pct_change(1) * 100
だから私も、私はループ内のすべてのデータフレームに列を追加する方法を知らない
を把握することはできません2つの問題を抱えています。だから私は、これはので、この例では、それはMMM米国株式と呼ばれているが、次回はそれは列と呼ばれます(たえず変化
df['Stock Name 1']
ある=後all_dfs[i].['ADD COLUMN NAME'] = df['Stock Name 1'].pct_change(1) * 100
第二部のような何かをしなければならないでしょう第二データフレームのヘッダ - それはIBM米国株式ことができる)、各データフレームは、別の名前を持っているように、私はループ内で適切に
をそれを呼び出す方法を知らない私は/のpythonに新しいです私がこれについて間違った方法を考えているならば、よりよい解決策があるかどうか私に知らせてください。
これが動作しなく はTypeError次のようにエラーを提供し:サポートされていないオペランドタイプ(複数可)/ : 'str'と 'float' これは何を意味するのか>> >>しかし、エラーがあってもデータフレームは正しい情報でコンパイルされます。だから私はこれが私に何を伝えているのか分からない –
*在庫*各dfの3番目または2番目の列ですか?あなたの投稿、データごとに、私は株式が3列目であると仮定しています。しかし、これは、セパレータ '/'が誤って表示されるため、* Date *が使用されていることを示唆しています。たぶん、いくつかのdfsは* Date *を3番目の列として持つでしょうか? 'print(i)'を追加すると、リスト内のどのdfが問題かを調べることができます。 – Parfait