我知道如何使用pd.MultiIndex.from_tuples()
来更改以下内容
Value
(A,a) 1
(B,a) 2
(B,b) 3
进入
Value
Caps Lower
A a 1
B a 2
B b 3
但是如何在窗体中更改列元组呢
(A, a) (A, b) (B,a) (B,b)
index
1 1 2 2 3
2 2 3 3 2
3 3 4 4 1
进入形式
Caps A B
Lower a b a b
index
1 1 2 2 3
2 2 3 3 2
3 3 4 4 1
非常感谢。
**编辑:**我有一个元组列标题的原因是,当我将一个具有单级列的DataFrame连接到一个具有多级列的DataFrame时,它将多级列转换为字符串格式的元组,并将单个级别保留为单个字符串。
**Edit 2 - Alternate Solution:**如前所述,这里的问题是由于join
具有不同的列级大小而产生的。这意味着Multi-Column被减少为字符串元组。解决这个问题的方法是,在join之前,我使用df.columns = [('col_level_0','col_level_1','col_level_2')]
作为我希望join的DataFrame。
2条答案
按热度按时间kqhtkvqz1#
将direct赋值给
columns
,并将pd.MultiIndex.from_tuples
的结果传入现有列:请注意,您可以直接分配给
columns
属性的names
属性,如下所示:不要与
name
属性混淆cbjzeqam2#
另一个解决方案是使用
MultiIndex.from_tuples
和参数names
:这同样适用于
columns
,参见Edchum's answer
: