我想将我的数据框行转换为列,并取最后一列的最后一个值。
这是我的数据框架
df=pd.DataFrame({'flag_1':[1,2,3,1,2,500],'dd':[1,1,1,7,7,8],'x':[1,1,1,7,7,8]})
print(df)
flag_1 dd x
0 1 1 1
1 2 1 1
2 3 1 1
3 1 7 7
4 2 7 7
5 500 8 8
df_out:
1 2 3 1 2 500 1 1 1 7 7 8 8
假设您想要一个列表作为输出,您可以屏蔽列表列和堆栈的初始值:
import numpy as np
out = (df
.assign(**{df.columns[-1]: np.r_[[pd.NA]*(len(df)-1),[df.iloc[-1,-1]]]})
.T.stack().to_list()
)
输出:
[1, 2, 3, 1, 2, 500, 1, 1, 1, 7, 7, 8, 8]
对于单行的宽数据帧,使用.to_frame().T
代替to_list()
(这里使用MultiIndex):
flag_1 dd x
0 1 2 3 4 5 0 1 2 3 4 5 5
0 1 2 3 1 2 500 1 1 1 7 7 8 8