There is a lot of semi-duplication / differences in the Series()
and DataFrame()
methods.
Maybe it's worth taking a look through them and regularising.
Fwiw, I prefer tostring
vs. to_string
Also, would be nice to have tohtml
on things, though expanding it is beyond the scope of this.
Comment From: wesm
It might be a bit too late to remove underscores from a host of methods. I find the underscores easier on the eyes, though. For example:
frame.to_panel()
looks much better to me than
frame.topanel()
but that may be largely a function of having used that convention for a long time.
I agree that the API should be made uniform and consistent across the data structures. Feel free to hack away-- I'm not going to be able to invest much in this relative to the feature queue for a while
Comment From: lodagro
As reference, with a little bit of pandas code i created an overview of available methods (0.8.0.dev-de6318e). Unfortunately github does not render colors, True/False are in Green/Red divs. True : method available False : method not available
series | dataframe | panel | |
---|---|---|---|
T | True |
True |
False |
abs | True |
True |
True |
add | True |
True |
True |
add_prefix | False |
True |
True |
add_suffix | False |
True |
True |
align | True |
True |
False |
all | True |
False |
False |
any | True |
False |
False |
append | True |
True |
False |
apply | True |
True |
True |
applymap | False |
True |
False |
argmax | True |
False |
False |
argmin | True |
False |
False |
argsort | True |
False |
False |
as_matrix | False |
True |
False |
asfreq | True |
True |
False |
asof | True |
False |
False |
astype | True |
True |
True |
autocorr | True |
False |
False |
axes | False |
True |
True |
base | True |
False |
False |
boxplot | False |
True |
False |
byteswap | True |
False |
False |
choose | True |
False |
False |
clip | True |
True |
False |
clip_lower | True |
True |
False |
clip_upper | True |
True |
False |
columns | False |
True |
False |
combine | True |
True |
False |
combineAdd | False |
True |
False |
combineMult | False |
True |
False |
combine_first | True |
True |
False |
compound | False |
False |
True |
compress | True |
False |
False |
conform | False |
False |
True |
conj | True |
False |
False |
conjugate | True |
False |
False |
consolidate | False |
True |
True |
convert_objects | False |
True |
False |
copy | True |
True |
True |
corr | True |
True |
False |
corrwith | False |
True |
False |
count | True |
True |
True |
cov | True |
True |
False |
ctypes | True |
False |
False |
cummax | True |
True |
True |
cummin | True |
True |
True |
cumprod | True |
True |
True |
cumsum | True |
True |
True |
data | True |
False |
False |
delevel | False |
True |
False |
describe | True |
True |
False |
diagonal | True |
False |
False |
diff | True |
True |
False |
div | True |
True |
True |
divide | False |
False |
True |
dot | True |
True |
False |
drop | True |
True |
True |
drop_duplicates | False |
True |
False |
dropna | True |
True |
False |
dtype | True |
False |
False |
dtypes | False |
True |
False |
dump | True |
False |
False |
dumps | True |
False |
False |
duplicated | False |
True |
False |
fill | True |
False |
False |
fillna | True |
True |
True |
filter | False |
True |
True |
first_valid_index | True |
True |
False |
flags | True |
False |
False |
flat | True |
False |
False |
flatten | True |
False |
False |
fromDict | False |
False |
True |
from_csv | True |
True |
False |
from_dict | False |
True |
True |
from_items | False |
True |
False |
from_records | False |
True |
False |
get | True |
True |
True |
get_dtype_counts | False |
True |
False |
get_value | True |
True |
True |
getfield | True |
False |
False |
groupby | True |
True |
True |
head | True |
True |
False |
hist | True |
True |
False |
icol | False |
True |
False |
idxmax | True |
True |
False |
idxmin | True |
True |
False |
iget | True |
False |
False |
iget_value | True |
True |
False |
imag | True |
False |
False |
index | True |
True |
False |
info | False |
True |
False |
insert | False |
True |
False |
interpolate | True |
False |
False |
irow | False |
True |
False |
isin | True |
False |
False |
isnull | True |
False |
False |
item | True |
False |
False |
items | False |
False |
True |
itemset | True |
False |
False |
itemsize | True |
False |
False |
iteritems | True |
True |
True |
iterkv | True |
True |
True |
iterrows | False |
True |
False |
ix | True |
True |
True |
join | False |
True |
True |
keys | True |
False |
True |
last_valid_index | True |
True |
False |
load | True |
True |
True |
lookup | False |
True |
False |
mad | True |
True |
False |
major_axis | False |
False |
True |
major_xs | False |
False |
True |
map | True |
False |
False |
max | True |
True |
True |
mean | True |
True |
True |
median | True |
True |
True |
merge | False |
True |
False |
min | True |
True |
True |
minor_axis | False |
False |
True |
minor_xs | False |
False |
True |
mul | True |
True |
True |
multiply | False |
False |
True |
name | True |
False |
False |
nbytes | True |
False |
False |
ndim | True |
True |
True |
newbyteorder | True |
False |
False |
nonzero | True |
False |
False |
notnull | True |
False |
False |
nunique | True |
False |
False |
order | True |
False |
False |
pivot | False |
True |
False |
pivot_table | False |
True |
False |
plot | True |
True |
False |
pop | False |
True |
True |
prod | True |
True |
True |
product | False |
True |
False |
ptp | True |
False |
False |
put | True |
False |
False |
quantile | True |
True |
False |
radd | False |
True |
False |
rank | True |
True |
False |
ravel | True |
False |
False |
rdiv | False |
True |
False |
real | True |
False |
False |
reindex | True |
True |
True |
reindex_axis | False |
True |
False |
reindex_like | True |
True |
True |
rename | True |
True |
False |
rename_axis | False |
True |
True |
reorder_levels | True |
True |
False |
repeat | True |
False |
False |
reset_index | True |
True |
False |
reshape | True |
False |
False |
resize | True |
False |
False |
rmul | False |
True |
False |
round | True |
False |
False |
rsub | False |
True |
False |
s | False |
True |
False |
save | True |
True |
True |
searchsorted | True |
False |
False |
select | True |
True |
True |
set_index | False |
True |
False |
set_value | True |
True |
True |
setasflat | True |
False |
False |
setfield | True |
False |
False |
setflags | True |
False |
False |
shape | True |
True |
True |
shift | True |
True |
True |
size | True |
False |
False |
skew | True |
True |
True |
sort | True |
True |
False |
sort_index | True |
True |
True |
sortlevel | True |
True |
False |
squeeze | True |
False |
False |
stack | False |
True |
False |
std | True |
True |
True |
strides | True |
False |
False |
sub | True |
True |
True |
subtract | False |
False |
True |
sum | True |
True |
True |
swapaxes | True |
False |
True |
swaplevel | True |
True |
True |
tail | True |
True |
False |
take | True |
True |
True |
toLong | False |
False |
True |
to_csv | True |
True |
False |
to_dict | True |
True |
False |
to_excel | False |
True |
True |
to_frame | False |
False |
True |
to_html | False |
True |
False |
to_long | False |
False |
True |
to_panel | False |
True |
False |
to_records | False |
True |
False |
to_sparse | True |
True |
True |
to_string | True |
True |
False |
to_wide | False |
True |
False |
tofile | True |
False |
False |
tolist | True |
False |
False |
tostring | True |
False |
False |
trace | True |
False |
False |
transpose | True |
True |
False |
truncate | True |
True |
True |
unique | True |
False |
False |
unstack | True |
True |
False |
valid | True |
False |
False |
value_counts | True |
False |
False |
values | True |
True |
True |
var | True |
True |
True |
view | True |
False |
False |
weekday | True |
False |
False |
xs | False |
True |
True |
Comment From: adamklein
Very useful and interesting!
Comment From: jreback
@lodagro can you update this? would be interesting now that objects are combined
Comment From: lodagro
Update? Do you mean regenerate the above table for master?
Comment From: jreback
yep...that's what I meant
Comment From: cpcloud
@lodagro can u also put the code u used to create it in a gist? we could make it into a script ...
Comment From: lodagro
Could not find back the code i used to generate the above table, i probably did it interactively using IPython.
Its not much really, on request i made a gist. The output is a html file.
Note that you can use a predicate when doing inspect.getmembers
to do some filtering.
Comment From: naught101
Dunno whether it's worth opening a new issue, but df.as_matrix
should be renamed to df.as_array
- it returns a numpy.ndarray
, not a numpy.matrixlib.defmatrix.matrix
. And in the case of Series, Panels and Panel4Ds it returns 1D, 3D and 4D arrays respectively, which clearly aren't matrices.
I would suggest that it might be worth adopting a convention like df.as_*
for conversion to other data types (df.as_matrix
, df.as_dict
, df.as_list
, etc), and df.to_*
for export to files or other streams (df.to_clipboard
, df.to_csv
, df.to_html
, etc).
Comment From: naught101
Also, I agree that underscores are better - what the hell is a tost ring
? Not to mention "asof" (wtf?), and "top anel" :P
camelCase would also be ok, it's much clearer than no word definition, and it's shorter than underscores.
Re: "a bit too late". Wouldn't it be easy enough to just make aliases for each method, and raise warnings when they're called, noting that they're deprecated? Those aliases could be removed later (and the warnings could state which version they will be removed in).
Comment From: wesm
Closing -- please open issues addressing specific existing inconsistencies.