gpt4 book ai didi

python - 多索引列 - 选择内部

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:18 25 4
gpt4 key购买 nike

具有如下所示的 DataFrame:

frame = pd.DataFrame(np.arange(12).reshape((4, 3)),
....: index=[['a', 'a', 'b', 'b'], [1, 2, 1, 2]],
....: columns=[['Ohio', 'Ohio', 'Colorado'],
....: ['Green', 'Red', 'Green']])

选择所有颜色为绿色的列的最简单方法是什么?

frame['Green']

... 不起作用。

最佳答案

xs

此方法就是为此目的而设计的。

frame.xs('Green', axis=1, level=1)
# frame.xs('Green', 1, 1)

Ohio Colorado
a 1 0 2
2 3 5
b 1 6 8
2 9 11

还是保持水平

frame.xs('Green', axis=1, level=1, drop_level=False)

Ohio Colorado
Green Green
a 1 0 2
2 3 5
b 1 6 8
2 9 11

这大致等同于:
显然更复杂但更有趣。

frame.loc[:, frame.columns.get_level_values(1) == 'Green']

或者

frame.loc[:, frame.columns.labels[1] == frame.columns.levels[1].get_loc('Green')]

swaplevel

我不喜欢这种方式,但有助于提供信息

frame.swaplevel(0, 1, 1).Green

Ohio Colorado
a 1 0 2
2 3 5
b 1 6 8
2 9 11

关于python - 多索引列 - 选择内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52259869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com