web-dev-qa-db-fra.com

Pandas copier les noms des colonnes d'une trame de données à une autre

Disons que nous avons deux pandas trames de données. La première n'a pas de nom de colonne:

no_col_names_df = pd.DataFrame(np.array([[1,2,3], [4,5,6], [7,8,9]]))

Le second a:

col_names_df = pd.DataFrame(np.array([[10,2,3], [4,45,6], [7,18,9]]),
                           columns=['col1', 'col2', 'col3'])

Ce que je veux faire, c'est obtenir la colonne de copie names from the col_names_df à no_col_names_df pour que la trame de données suivante soit créée:

    col1    col2    col3
0   1       2       3
1   4       5       6
2   7       8       9

J'ai essayé ce qui suit:

new_df_with_col_names = pd.DataFrame(data=no_col_names_df, columns=col_names_df.columns)

mais au lieu des valeurs du no_col_names_df Je reçois NaNs.

3
balkon16

Si vous obtenez nan, le problème est probablement le paramètre de données, essayez ceci:

new_df_with_col_names = pd.DataFrame(data=no_col_names_df.values, columns=col_names_df.columns)

production:

   col1  col2  col3
0     1     2     3
1     4     5     6
2     7     8     9
0
Yuca