Python Pandas使用正则过滤dataframe里的列

Python Pandas可以在DataFrame.filter方法里使用正则来过滤列:

创建DataFrame

import pandas as pd

df = pd.DataFrame(np.array([[1,2,3],[2,3,4],[3,4,5]]),columns=['a','d1','d2'])
>>
   a  d1  d2
0  1  2   3
1  2  3   4
2  3  4   5

filter

filter使用正则过滤以“d”开头的列

df.filter(regex=("d.*"))
>>
   d1  d2
0  2   3
1  3   4
2  4   5

select

除了使用filter的正则外,也可以使用select来选择以“d”开头的列:

df.select(lambda col: col.startswith('d'), axis=1)
>>
   d1  d2
0  2   3
1  3   4
2  4   5

版权声明:著作权归作者所有。

相关推荐

Spark DataFrame join后移除重复的列

在Spark,两个DataFrame做join操作后,会出现重复的列。有两种方法可以用来移除重复的列。方法一:join表达式使用字符串数组(用于join的列)df1.join(df2, Seq("id","name"),"left") 这里DataFrame df1和df2使用了id和name两列来做join,返回的结

Elasticsearch使用pattern_replace过滤器忽略查询里的特殊字符

假设elasticsearch的一个字段存储了包含字母,数字以及特殊字符的字符串作为值,如ABC-123-456。现在用户输入以下字符希望能匹配此值:完全匹配:ABC-123-456忽略特殊字符:ABC123456小写且忽略特殊字符:abc123456混有其他特殊字符串:Ab.c-123,456这里可以使用pattern_replace过滤器以及自定义一个分析器来处理。1、定义pattern_re

Vue实例里this的使用

要理解Vue实例里this的使用,首先要理解this在JavaScript里的用法,可以参考理解JavaScript普通函数以及箭头函数里使用的this。这是vue文档里的原话:All lifecycle hooks are called with their 'this' context pointing 

Python替换文件里的文本

在原来的文件直接替换文本使用fileinput在文件上直接替换:#!/usr/bin/env python3 import fileinput with fileinput.FileInput(fileToSearch, inplace=True, backup='.bak') as file:   &nb

Python里的raw_input()和input()的区别

Python2raw_input():接收用户输入,并以字符串的形式返回用户的输入。input(): 接收用户输入的python表达式,在内部对表达式执行eval()。Python3raw_input()重命名为input(),接收用户输入,并以字符串返回。在Python2里执行python表达式的input()已删除。如果要在Python3里实现Python2 input()