我的数据框的列包含“pre_1,pre_2,pre_3等......”。我还有标记为“post1,post2,post3 ......等”的帖子数据。
有没有办法通过选择带有'pre'一词的所有列来在Python中切片数据?
感谢。
答案 0 :(得分:0)
您可以filter
使用like
或regex
关键字来匹配列名称中的模式:
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