[英]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.