95

複数の列と行を持つデータ フレーム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 からインデックスのみをコピーすることは可能ですか?

4

5 に答える 5

149
df2 = pd.DataFrame(index=df1.index)

これにより、列がなくインデックスのみを持つ DataFrame が作成され、df1 と同じインデックスになります。

于 2013-08-11T21:37:43.650 に答える
13

インデックスを df1.index.copy() として設定することをお勧めします

df2 = pd.DataFrame(index=df1.index.copy())

df1.indexisを使用df2.indexして、それらが同じオブジェクトであるかどうかを確認できます

于 2013-08-12T06:51:27.053 に答える