possible easier dataframe/series selection
I believe lots of pandas users need to do lots of selection/slicing. The existing methods are flexible, such as iloc, loc, ix, ["columnname"].

In practice, I found it is not convenient to do complex selection. For example:
 Frame.ix((Frame["ColumnName"]=="MatchValue") & (Frame["AnotherColumn"]=="AnotherMatch"), ["SelectColumn"]) 

It is error prone and confusing. Therefore, I came up with my own solution:
now you just use Frame.Sel(["SelectColumn"],{"ColumnName":"MatchValue","AnotherColumn":"AnotherMatch"}) And you can mix index and labels for selection. For example Frame.Sel([0,"ColumnName"]) will select column 0 and "ColumnName". Things now are natural and simplier, in my opinions; at least you don't have to switch between iloc[] and loc[]

This is just my suggestions, and definitely not a bug or issue. I don't know how to give the feedback to the development team or other users, so I posted here. 

The following is some doc of my method. This is from my personal "enhancement" to pandas module, called kungfu at https://github.com/jerryzhujian9/kungfu

Feel free to change my codes. Greatly appreciate the hard work of all developers!

---

frame.Sel(*args)

Select certain columns and rows from a frame.

Args:
1) [] for columns FIRST, {} or [] for rows SECOND
2) if only pass [], treated as columns; if only {}, as rows
3) additionally, a single int(or str) can be parsed to a list of that int(or str)
4) int alone or in a list treated as (column/row) index; str alone or in a list as (column/row) name
5) does NOT support slice; however, one can use the function range(start,stop) to generate a list
6) better see some examples:

('Session') column "Session"
(1) column 1 (index based, starts from 0)
(['Session', 1])
columns "Session" and 1
the order of selected columns does not have to follow the order in the original frame! could be [2,4,0,1]({'Session': 1}) all columns where "Session" == 1
('Session', '0') <---raise error because of '0'
('Session', 0) column "Session" and row 0 (index based, starts from 0)
('Session', [0, 1]) column "Session" and rows 0 and 1
('Session', {'Session': 1}) column "Session" where "Session" == 1
(0, '0') <---raise error because of '0'
(0, 0) column 0 and row 0
(0, [0, 1]) column 0 and rows 0 and 1
(0, {'Session': 1}) column 0 where "Session" == 1
(['Session', 1], '0') <---raise error because of '0'
(['Session', 1], 0) columns "Session" and 1, and row 0
(['Session', 1], [0, 1]) columns "Session" and 1, and, rows 0 and 1
(['Session', 1], {"Subject":5101,"Procedure[Trial]":["PresentPair","PresentPair1"]})
columns "Session" and 1 where "Subject" == 5101 and ("Procedure[Trial]" == "PresentPair" or "Procedure[Trial]" == "PresentPair1")
([],0) all columns and row 0

Returns:
a Frame object even for a frame with only one column or row
to select a column or row as a series, use SelCol() or SelRow()
However, if only a cell is selected, returns the value of that cell with being its own data type.

Raises:
None
