bal*_*n16 13 python columnname dataframe pandas
假设我们有两个熊猫数据框。第一个没有列名:
no_col_names_df = pd.DataFrame(np.array([[1,2,3], [4,5,6], [7,8,9]]))
Run Code Online (Sandbox Code Playgroud)
第二个有:
col_names_df = pd.DataFrame(np.array([[10,2,3], [4,45,6], [7,18,9]]),
columns=['col1', 'col2', 'col3'])
Run Code Online (Sandbox Code Playgroud)
我想要做的是让副本列名来自col_names_df于no_col_names_df这样下的数据帧创建:
col1 col2 col3
0 1 2 3
1 4 5 6
2 7 8 9
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
new_df_with_col_names = pd.DataFrame(data=no_col_names_df, columns=col_names_df.columns)
Run Code Online (Sandbox Code Playgroud)
但不是来自no_col_names_dfI getNaN的值。
jo9*_*o9k 10
就像您使用带有列名的数据帧中的列一样,您可以使用来自数据帧的值而不使用列名:
new_df_with_col_names = pd.DataFrame(data=no_col_names_df.values, columns=col_names_df.columns)
Run Code Online (Sandbox Code Playgroud)In [4]: new_df_with_col_names = pd.DataFrame(data=no_col_names_df, columns=col_names_df.columns) In [5]: new_df_with_col_names Out[5]: col1 col2 col3 0 NaN NaN NaN 1 NaN NaN NaN 2 NaN NaN NaN In [6]: new_df_with_col_names = pd.DataFrame(data=no_col_names_df.values, columns=col_names_df.columns) In [7]: new_df_with_col_names Out[7]: col1 col2 col3 0 1 2 3 1 4 5 6 2 7 8 9
最简单的方法是直接指派的列col_names_df到的那些no_col_names_df:
no_col_names_df.columns = col_names_df.columns
col1 col2 col3
0 1 2 3
1 4 5 6
2 7 8 9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23284 次 |
| 最近记录: |