簡體   English   中英

旋轉子數據框

[英]Pivoting a sub-dataframe

假設我們有一個數據框,例如以下6列

C1 C2 C3   A  B  C
 x  y  z  10  5  1
 r  s  t   0  0  0 
 u  v  z   1  0  0 

我希望將其轉換為以下結果:

C1 C2 C3  P   V 
 x  y  z  A  10 
 x  y  z  B   5
 x  y  z  C   1
 u  v  z  A   1

我認為可以旋轉數據框來獲得此結果,但是我很難做到這一點。 如何使用pivot_tablepivot完成此轉換?

使用melt + query

pd.melt(df, 'C1 C2 C3'.split(), list('ABC'), 'P', 'V').query('V != 0')

  C1 C2 C3  P   V
0  x  y  z  A  10
2  u  v  z  A   1
3  x  y  z  B   5
6  x  y  z  C   1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM