当前位置: 首页 > 知识库问答 >
问题:

在熊猫中按标签选择多个列并非全部按顺序排列

云啸
2023-03-14

我想从数据帧中选择一组列,但这些列中只有一些是按顺序排列的。例如,我想写一些类似于:

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

这里也提出了类似的问题,但答案没有帮助:按标签选择多个列(熊猫)

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

共有1个答案

王曜文
2023-03-14

您可以使用列表理解:

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文档和论坛来选择列的方法,但是关于列索引的每个示例都过于简单。 假设我有一个10x10的数据帧 到目前为止,给出的所有文档只是一个简单的索引示例,如

  • 我试图基于单个条件,根据多列中的值过滤数据帧,但保留我根本不想应用过滤器的其他列。 我回顾了这些答案,第三个是最接近的,但仍然没有运气: 如何按多列筛选数据帧 筛选多个列 Python熊猫-如何按一个值筛选多个列 设置: 电流输出: 期望输出: 我试过: 以及许多其他变体(,,

  • 问题内容: 我有一个数据库 我怎样才能选择该猫排序,?那是 问题答案: 这应该做…除了名称的双破折号“-”以外… 按第一个案例的顺序/何时将所有属于最高级别的项目放在第一层,或者将所有项目放在第一层的ID的第二层。因此,如果您有超过1000个条目,尝试使用提供的父* 1000个示例hack就不会成为问题。当父ID = 0时,第二个案例/时间将强制进入其分组列表的TOP及其下的所有子条目,但在下一个

  • 问题内容: 阅读完之后:http : //pandas.pydata.org/pandas- docs/version/0.13.1/genic/pandas.DataFrame.sort.html 我似乎仍然无法弄清楚如何通过自定义列表对列进行排序。显然,默认排序是字母顺序的。我举一个例子。这是我的(非常删节的)数据帧: 我希望能够按播放器,年份和Tm进行排序。按玩家和年份的默认排序对我来说是正

  • 我只是试图通过整数访问命名的熊猫列。 您可以使用按位置选择行。 但是如何通过整数选择列呢? 我的数据框: