個人的にデータサイエンスの訓練に取り組んでいく中で、新しく触れた技術の復習、備忘録、アウトプットとして本記事を書いていく。
なるべく自分の言葉で表現できるように心がけていきたい。
誰かに向けた記事ではないのでご勘弁を。
pandasのapply関数。
df[column]apply(lambda x: x + 'sample')
データフレームの対象とする列の要素に対して、引数の中身の関数を適用させた、新たなデータフレームを作成する。
また、関数の中のxは、もとのデータフレームの中にある要素が入れられる。
今回は、列を指定することで、seriesオブジェクトに対して適応する形となった。
pandasデータフレームの、任意の範囲の列を取り出す方法。
結論、python配列のスライスの要領で取り出すことができる。
これは、pandas データフレームオブジェクトの、loc,iloc属性を使う。
行、列の名前で引っ張ってくるときはloc属性、番号で引っ張ってくる時はiloc属性を使用する。
df.loc[:, :column2]
>>dfの、全ての行、最初からcolumn2列までを含めた列の要素を取得している。
なお、pandasのスライスは、端っこの要素を含むようである。
pandasのデータフレームを、numpy配列に変換する。
には、.valuesを最後に着けてやると良い。
df.values
これで、numpy配列に変換してくれる。kerasのモデルに放り込むときは、こういった処理が必要である。
データフレームの列を使って、for文でループさせることができる
for item in df[column_1]:
.....
しかし、できるにはできるが、あまり良い方法では無いのかもしれない。普通にpandasの備え付け関数を使ったほうが良さそうである。
re.split関数
文字列を分割することができるre.split()関数。第一引数に分割する区切り文字を、リストの中に入れ、クォーテーションで囲む。第二引数は分割する対象の文字列。
bunsyo = '吾輩.は猫_であ/る。'
re.split('[/._]', bunsyo)