gpt4 book ai didi

python - 在 Pandas 中按标签选择多列并非全部按顺序

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

我想从 pandas 数据框中选择一组列,但其中只有一些列是按顺序排列的。例如,我想写这样的东西:

df.loc[:,['a','2001':'2040']]

此处提出了类似的问题,但答案没有帮助:Select multiple columns by labels (pandas)

就我而言,手动执行此操作太麻烦了。正则表达式是可能的但很复杂,因为切片是面向数字而不是面向文本的。那么最简单的方法是什么?

最佳答案

您可以使用列表理解:

In [11]: df.columns
Out[11]: Index(['a', '2001', '2002', '2040', '2041'], dtype='object')

In [12]: [c for c in df.columns if c == "a" or c.isdigit() and 2001 <= int(c) <= 2040 ]
Out[12]: ['a', '2001', '2002', '2040']

In [13]: df[[c for c in df.columns if c == "a" or c.isdigit() and 2001 <= int(c) <= 2040 ]]

关于python - 在 Pandas 中按标签选择多列并非全部按顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54893029/

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