按列对数据帧进行子集设置

2024-06-13 17:22:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含“pre\u 1、pre\u 2、pre\u 3等…”列的数据帧。我还把post数据标记为“post1,post2,post3…等等)。你知道吗

在Python中,有没有一种方法可以通过选择包含单词“pre”的所有列来切片数据?你知道吗

谢谢。你知道吗


Tags: 数据方法标记post2切片单词postpost1
1条回答
网友
1楼 · 发布于 2024-06-13 17:22:09

您可以使用filterlikeregex关键字来匹配列名中的模式:

df = pd.DataFrame({
    'pre_1': [1,2],
    'pre_2': [3,4],
    'pre_3': [5,6],
    'post1': [7,8],
    'post2': [9,10],
    'post3': [11,12]
})

df
#post1  post2   post3   pre_1   pre_2   pre_3
#0   7      9      11       1       3       5
#1   8     10      12       2       4       6

要选择包含模式的列,请使用like关键字:

df.filter(like='pre')

#pre_1  pre_2   pre_3
#0   1      3       5
#1   2      4       6

或者您可以使用正则表达式,下面将选择以pre开头的列(^):

df.filter(regex='^pre')

#pre_1  pre_2   pre_3
#0   1      3       5
#1   2      4       6

相关问题 更多 >