【发布时间】:2019-02-08 10:45:01
【问题描述】:
我有一个带有 multiIndex 列的 DataFrame。假设是这样的:
index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),
('two', 'a'), ('two', 'b')])
df = pd.DataFrame({'col': np.arange(1.0, 5.0)}, index=index)
df = df.unstack(1)
(我知道这个定义可能更直接)。我现在想基于 DataFrame 设置一个新的 0 级列。例如
df['col2'] = df['col'].applymap(lambda x: int(x < 3))
这不起作用。到目前为止,我发现的唯一方法是分别添加每一列: Pandas: add a column to a multiindex column dataframe ,或某种复杂的连接过程。
所需的结果是一个新的 0 级列 'col2',其中包含两个 1 级子列:'a' 和 'b'
任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: python pandas multi-index