目次
はじめに
今回は、PythonでCSVファイルを読み込んだ後、index0・columns0の位置にあるデータを取り出す方法について勉強しました。
使用環境は以下のとおりです。
- PC: MacBook Air (11-inch, Early 2015)
- OS: macOS バージョン11.6(20G165)
- Pythonバージョン: 3.8.8(64-bit)
背景
抽出したCSVファイルの中で、日付データがindex0・columns0の位置にあることに気づきました。
その日付情報だけを取得して、さらにきれいに整形したいと考えました。
実際に行った処理
① iat
を使って値を取得
最初に、データフレームのindex0, columns0の値を取り出しました。
ここでは、iloc
ではなく、**iat
**を選びました。
date = df.iat[0, 0]
iat[行番号, 列番号]
は、データフレームから位置ベースで特定のセルを取得できる関数です。iloc
も候補にありましたが、今回はシンプルなピンポイント取得を目指してiat
を採用しました。
② 取得した値から空白を除去
取得できたのは良かったのですが、なぜか文字列に違和感のある空白が含まれていました。
そのため、文字列の前後にある空白を取り除く処理を加えました。
date = date.strip()
strip()
を使うことで、文字列の先頭と末尾の不要な空白を一括除去できます。
③ 必要な部分(年月)だけを抽出
さらに、取得した文字列には、年月以外の余分な情報も含まれていたため、
先頭6文字を削除して、年月だけを取り出しました。
date = date[5:]
これにより、たとえば「日付:2024年04月01日」という文字列から、
「04月01日」のように、必要な部分だけを抽出できました。
感想
今回は、最初からスムーズに作業が進み、
特にエラーに苦しむことなく処理を完成させることができました。
まとめ
df.iat[0, 0]
で、データフレームのindex0・columns0の値を取得できる。strip()
を使えば、取得した文字列の余計な空白を除去できる。- スライス(
[5:]
など)を使えば、必要な部分だけを簡単に取り出せる。
今回の経験を通じて、データフレームのセル単位での操作と、
文字列処理の基本を改めて整理することができました。
今後もさらに応用例を積み重ね、より効率的なデータ操作を目指していきたいと考えています。