J'ai une trame de données df1 avec plusieurs colonnes et lignes. Exemple simple:
TIME T1 T2
1 10 100
2 20 200
3 30 300
Je voudrais créer un bloc de données vide df2 et plus tard, ajouter de nouvelles colonnes avec les résultats du calcul.
Pour l'instant, mon code ressemble à ceci:
df1=pd.read_csv("1.txt",index_col="TIME")
df2=df1.copy()[[]] #copy df1 and erase all columns
... en ajoutant deux nouvelles colonnes:
df2["results1"],df2["results2"]=df1["T1"]*df["T2"]*3,df1["T2"]+100
Existe-t-il un moyen meilleur/plus sûr/plus rapide de le faire? Est-il possible de créer un bloc de données vide df2 et de copier uniquement l'index à partir de df1?
df2 = pd.DataFrame(index=df1.index)
Cela créera un DataFrame sans colonnes mais juste un index, et ce sera le même index que dans le df1.
Vous pouvez également affecter directement l'index d'une trame de données à une autre trame de données.
df2.index=df1.index
Il est préférable de définir l'index comme df1.index.copy ()
df2 = pd.DataFrame(index=df1.index.copy())
Vous pouvez utiliser df1.index
est df2.index
pour vérifier s'il s'agit du même objet
Vous pouvez utiliser ce code court:
df2=df1[[]].copy()