Create an empty data frame with index from another data frame
I've got a data frame df1 with multiple columns and rows. Simple example:
TIME T1 T2
1 10 100
2 20 200
3 30 300
I'd like to create an empty data frame df2 and later on, add new columns with the calculation results.
For this moment my code looks like this:
df1=pd.read_csv("1.txt",index_col="TIME")
df2=df1.copy()[[]] #copy df1 and erase all columns
...adding two new columns:
df2["results1"],df2["results2"]=df1["T1"]*df["T2"]*3,df1["T2"]+100
Is there any better/safer/faster way to do this ? Is it possible to create an empty data frame df2 and only copy index from df1 ?
df2 = pd.DataFrame(index=df1.index)
This will create a DataFrame with no columns but just an index, and it will be the same index as in the df1.
It's better to set index as df1.index.copy()
df2 = pd.DataFrame(index=df1.index.copy())
You can use df1.index
is df2.index
to check whether they are the same object
You can also assign the index of a dataframe to another dataframe directly.
df2.index=df1.index