SPy*_*SPy 5 python dataframe python-3.x pandas
我想将数据帧第一行的数据添加到其列名并删除第一行.
源数据框架:
2013K2 2013K3 2013K4 2013K5
ABC1 ABC2 ABC3 ABC4
324 5435 543 543
6543 543 657 765
765 876 876 9876
Run Code Online (Sandbox Code Playgroud)
需要将列名重命名为列名+'|'+第一行数据:
2013K2|ABC1 2013K3|ABC2 2013K4|ABC3 2013K5|ABC4
324 5435 543 543
6543 543 657 765
765 876 876 9876
Run Code Online (Sandbox Code Playgroud)
IIUC
df.columns=df.columns+'|'+df.iloc[0,:]
df.iloc[1:,]
Out[41]:
0 2013K2|ABC1 2013K3|ABC2 2013K4|ABC3 2013K5|ABC4
1 324 5435 543 543
2 6543 543 657 765
3 765 876 876 9876
df=df.iloc[1:,]
df
Out[43]:
0 2013K2|ABC1 2013K3|ABC2 2013K4|ABC3 2013K5|ABC4
1 324 5435 543 543
2 6543 543 657 765
3 765 876 876 9876
Run Code Online (Sandbox Code Playgroud)
你可以像这样做,使用T和set_index,然后用多指标列合并到一个单一的列标题map和format.
df_out = df.T.set_index(0, append=True).T
df_out.columns = df_out.columns.map('{0[0]}|{0[1]}'.format)
df_out
Run Code Online (Sandbox Code Playgroud)
输出:
2013K2|ABC1 2013K3|ABC2 2013K4|ABC3 2013K5|ABC4
1 324 5435 543 543
2 6543 543 657 765
3 765 876 876 9876
Run Code Online (Sandbox Code Playgroud)