Python, pandas, データフレームとシリーズの文字列のスライス

データフレームでの文字列のスライス。

どうも、シリーズでないとスライスできないらしい。

In [108]: df
Out[108]:
     0     1
0  10%    5%
1  75%  102%

In [109]: df[0].str.slice(0,-1)
Out[109]:
0    10
1    75
Name: 0, dtype: object

In [110]: df[1].str.slice(0,-1)
Out[110]:
0      5
1    102
Name: 1, dtype: object

だけど、、、

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-111-10b293d517a7> in <module>()
----> 1 df.str.slice(0,-1)

/u/MPG/dramsoft/python/lib/python3.4/site-packages/pandas/core/generic.py in __getattr__(self, name)
   1938
   1939         if name in self._internal_names_set:
-> 1940             return object.__getattribute__(self, name)
   1941         elif name in self._metadata:
   1942             return object.__getattribute__(self, name)

AttributeError: 'DataFrame' object has no attribute 'str'

ゲロ。。。

なんか面倒。 一気にやってくれないのか。。。

スライスも文字列に対してのと書式が違う。。。

In [115]: a
Out[115]: 'abc'

In [116]: a[0:-1]
Out[116]: 'ab'

でなくて、

In [117]: df[0].str.slice(0,-1)
Out[117]:
0    10
1    75
Name: 0, dtype: object

()になってるのと、":"が","になってる。。。 面倒。

マニュアル