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
()になってるのと、":"が","になってる。。。 面倒。