簡體   English   中英

根據列名稱將pandas DataFrame列連接在一起

[英]Joining pandas DataFrame columns together based on column name

我有一個熊貓數據框,看起來像這樣:

df
A.1  B.1  C.1  A.2  B.2  C.2  A.3  B.3  C.3
1    a    m    4    d    p    7    g    s
2    b    n    5    e    q    8    h    t
3    c    o    6    f    r    9    i    u

我想將所有包含相似名稱的列合並到同一列中。 因此,輸出將是一個像這樣的DataFrame:

df
A  B  C  
1  a  m
2  b  n
3  c  o
4  d  p
5  e  q
6  f  r
7  g  s
8  h  t
9  i  u

什么是最有效/最優雅的方法?

這是一種方法,可以將您的列轉換為多索引並進行堆疊。

In [220]: mult_index = [tuple(x.split('.')) for x in df.columns]
In [221]: df.columns = pd.MultiIndex.from_tuples(mult_index)

In [222]: df.stack()
Out[222]: 
     A  B  C
0 1  1  a  m
  2  4  d  p
  3  7  g  s
1 1  2  b  n
  2  5  e  q
  3  8  h  t
2 1  3  c  o
  2  6  f  r
  3  9  i  u

暫無
暫無

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

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