Python / Pandas - 删除以字符串开头的列

时间:2017-08-23 15:54:19

标签: python pandas

我有一个像这样的数据框

id    2013 Profits   2001 Revenues    1999 Assets...
31    xxxx           xxxx             xxxx
...

我想删除不以' 201'开头的列。 (我只想保留数据2010并转发)。

我该怎么做?

3 个答案:

答案 0 :(得分:7)

使用pd.DataFrame.filter

df.filter(like='201')

   2013 Profits
id             
31         xxxx

正如@StevenLaan指出的那样,使用like将包含一些列,这些列在列名中的其他位置具有模式字符串。我们可以确保只使用regex来获取以模式字符串开头的列。

df.filter(regex='^201')

   2013 Profits
id             
31         xxxx

答案 1 :(得分:5)

这将确保只保留以201开头的列。

let myWebView = WKWebView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height))
myWebView.translatesAutoresizingMaskIntoConstraints = false

if let signurl = URL(string:"https://www.example.com/login"){
    let request = URLRequest(url: signurl)
    myWebView.load(request)
}

view.addSubview(myWebView)

var loadedUrl = String()

func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
    loadedUrl = myWebView.url?.absoluteString as String!// GETS URL OF CURRENT PAGE LOADED

    if loadedUrl.range(of: "https://www.example.com/successful-login") != nil {
        let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let newViewController = storyBoard.instantiateViewController(withIdentifier: "newViewController") as! CustomViewController
        self.present(newViewController, animated: true, completion: nil)
    }
}

可以实现同样的目标
SELECT
XMLTYPE.createXML(TO_CLOB ('<node1><node2>the &#180; character</node2></node1>'),NLS_CHARSET_ID('AL32UTF8'),'',1,1)  
from dual;

答案 2 :(得分:4)

另一种方式:

In [16]: df.loc[:, df.columns.str.contains('^201')]
Out[16]:
  2013 Profits
0         xxxx