将列名称复制到 pandas 中的第一行数据

copy columns name into first row of data in pandas

我有一个 pandas 数据框,如下所示,当我将此数据框写入 google 工作表时,我发现 header 丢失了。我的问题是如何让它发挥作用?或者将列名复制到第一行数据,其他数据不变?

import pandas as pd

year = [2005, 2006, 2007]
A = [4, 5, 7]
B = [3, 3, 9]
C = [1, 7, 6]
df_old = pd.DataFrame({'year' : year, 'A' : A, 'B' : B, 'C' : C}, columns=['year', 'A', 'B', 'c'])

Out[25]: 
   A  B  C  year
0  4  3  1  2005
1  5  3  7  2006
2  7  9  6  2007

#want output
Out[25]: 
   A  B  C  year
0  A  B  C  year
1  4  3  1  2005
2  5  3  7  2006
3  7  9  6  2007

IIUC

df=pd.DataFrame(df_old.columns.values[None,:],columns=df_old.columns).\
       append(df_old).\
       reset_index(drop=True)
df
   year  A  B    c
0  year  A  B    c
1  2005  4  3  NaN
2  2006  5  3  NaN
3  2007  7  9  NaN

您还可以查看以下答案:

对于您的情况,第一行将是 df_old.loc[-1] = df_old.columns