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

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

相关推荐

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

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

Python替换文件里的文本

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

理解JavaScript普通函数以及箭头函数里使用的this

this普通函数的this普通函数的this是由动态作用域决定,它总指向于它的直接调用者。具体可以分为以下四项:this总是指向它的直接调用者, 例如 obj.func() ,那么func()里的this指的是obj。在默认情况(非严格模式,未使用 'use strict'),如果函数没有直接调用者,this为window在严格模式下,如果函数没有

Vue实例里this的使用

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

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

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

Pandas对应SQL的in和not in实现

在Pandas提供了pd.isin(),使用它可以实现SQL的in和not in。not in 对应于:~a.isin(b) 示例:假如有以下dataframe数据,它包含了列data如下:>>> df   data 0   a 1   b 2 &nb

Spark DataFrame join后移除重复的列

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

一些有用的pandas代码片段

# 列出dataframe指定列的唯一值 df['Column Name'].unique() # 把列的数据类型转换为数字。如果有非数字值,则会出错。 pd.to_numeric(df['Column Name']) # 把列的数据类型转换为数字,如果非数字值,则会转换为NaN pd.to_numeric(df['Column Na