[英]is there a way to convert a single row to a column in pandas
大家好,我一直在嘗試轉換這個 DataFrame
col_1 col_2 col_3
item1 item2 item3
$1xx $2xx $3xx
到這個輸出:
col_1 NaN col_2 NaN col_3 NaN
item1 $1xx item2 $2xx item3 $3xx
我認為你可以避免重復和NaN
的列,所以這里是DataFrame.unstack
替代方案,展平MultiIndex Series
創建一行 DataFrame by Series.to_frame
和 trnspose by DataFrame.T
:
s = df.unstack()
s.index = s.index.map(lambda x: f'{x[0]}_{x[1]}')
df = s.to_frame().T
print (df)
col_1_0 col_1_1 col_2_0 col_2_1 col_3_0 col_3_1
0 item1 $1xx item2 $2xx item3 $3xx
DataFrame.melt
另一個解決方案:
df = df.reset_index().melt('index', value_name=0)
df.index = df['variable'] + '_' + df['index'].astype(str)
df = df[[0]].T
print (df)
col_1_0 col_1_1 col_2_0 col_2_1 col_3_0 col_3_1
0 item1 $1xx item2 $2xx item3 $3xx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.