データフレームdf1があり、複数の列と行があります。簡単な例:
TIME T1 T2
1 10 100
2 20 200
3 30 300
空のデータフレームを作成したいdf2以降、計算結果を含む新しい列を追加します。
この瞬間、私のコードは次のようになります。
df1=pd.read_csv("1.txt",index_col="TIME")
df2=df1.copy()[[]] #copy df1 and erase all columns
... 2つの新しい列を追加します。
df2["results1"],df2["results2"]=df1["T1"]*df["T2"]*3,df1["T2"]+100
これを行うためのより良い/安全な/より速い方法はありますか?空のデータフレームdf2を作成し、df1からのみインデックスをコピーすることは可能ですか?
df2 = pd.DataFrame(index=df1.index)
これにより、列だけでなくインデックスのみを持つDataFrameが作成され、df1と同じインデックスになります。
データフレームのインデックスを別のデータフレームに直接割り当てることもできます。
df2.index=df1.index
インデックスをdf1.index.copy()として設定することをお勧めします
df2 = pd.DataFrame(index=df1.index.copy())
df1.index
is df2.index
を使用して、それらが同じオブジェクトであるかどうかを確認できます
次の短いコードを使用できます。
df2=df1[[]].copy()