かわだ

IT系の仕事をしています。 業務効率化のために何ができるかを考えながら日々働く中でいろ…

かわだ

IT系の仕事をしています。 業務効率化のために何ができるかを考えながら日々働く中でいろんな発見がありますので、その記録を残していきます。

マガジン

  • Pythonはじめました

    Pythonを使って業務効率の向上を進めています。

  • SASで地理B

    SASプログラミングと地理Bを組み合わせた新しい配信です。 データサイエンティストを目指して理系で頑張っている人の地理Bへの苦手意識が薄まると嬉しいです。

  • 日本語ボランティア始めました

    前からやりたかった日本語ボランティアをはじめました。 日本語を教える経験やスキルがどのくらい向上したかみたいなことを記録してきます。

  • 帰化申請しよう

    日本に生活の基盤があり、日本が好きで帰化したい方の手助けになれば嬉しいです。そのための手続きの方法や、確認ポイントなどをまとめました。専門家に任せる場合でも、ご自身で手続きされる場合でも、この記事を読んで少しでも予備知識を付けておくと申請がスムーズになります。

  • LibreOffice Baseを使ってみるよ

    MS-ACCESSの代替としてLibreOffice Baseを使ってみます。Web DBもいいですが個人事業だとセキュリティの問題などで意外とスタンドアローンの方が安心な気がします。帰化申請業務のデータベース化で得られたTipsなどを紹介します。

最近の記事

怪しいデータを見逃すな!2

大きな病院の外来は土日や祝日は閉まってますよね。 それにも関わらず、これらの日付の検査日があるのは怪しいです。 今日使うデータはこちらです。 vsdat(日付型)が祝日かどうか、あるいは土日かどうかを検出します。 日本の祝日まずは日本の祝日を取得してみましょう。 日本の祝日はjpholidayライブラリで取ることができます。 import jpholidayyear = 2024# 2024年の祝日を取得holidays_2024 = jpholiday.year_h

    • 怪しいデータを見逃すな!

      データの仕事をしていると、時々 「このデータ怪しいんじゃない?」 という場面に遭遇します。 あまりにも似たデータがあるような場合です。 例えば、Day3とDay4のデータは完全に一致しています。 本当に一緒なのか、入力間違いなのか、あるいはわざとなのか・・・ こういうデータは検出して確認したいものです。 文字列の類似性をみる文字列の一致性をみるには、ゲシュタルトパターンマッチングという方法を使います。面倒な数式は置いておいて、Pythonのライブラリを利用させてもらいま

      • Python始めよう

        いろんなプログラム言語を勉強してみたけど、結局定着したのはある統計解析ソフトとSQLだけでした。これらは仕事で必須だから当然といえば当然ですが・・・ そう、プログラミングの習得自体が目的になってしまってたのです。 そこで発想を逆に変えました。 これらには期限があるので、必死に調べて作り上げる必要があります。このように目的を明確にすることで、一気に習得度が高まりました。 Pythonといえば、機械学習などを連想しますが、私は、環境を整えるのが楽なのと、特にExcel操作がや

        • PythonでPDF結合

          先日の仕事の後日談です。 しかし・・・ 終わったと思ったら、どうやら上司からまた追加で面倒なことを頼まれたみたいです。 手書きの書類をスキャンして、それぞれの対応するPDFファイルの後ろに付けなければいけないとのこと。 こういうのは一度に言ってほしいですね・・・ (人のことは言えませんが) 乗り掛かった舟、放ってはおけません。 どんな仕様でしょうか。 手書き資料のスキャンは終わっている 結合する2つのPDFは別々のフォルダに格納されている 手書きスキャンのPDF

        怪しいデータを見逃すな!2

        マガジン

        • Pythonはじめました
          28本
        • SASで地理B
          26本
        • 日本語ボランティア始めました
          11本
        • 帰化申請しよう
          26本
        • LibreOffice Baseを使ってみるよ
          5本

        記事

          PythonでWordをPDFに変換

          これは実話です・・・ みんな無言でパソコンに向かっている姿は神々しくもありました。 単純作業に神が見えてきたのでしょうが、いったん悟りと仕事をやめてもらって、30分、時間をもらいました。 まずは環境を確認 これはこないだやったPathlibの出番です。 Pathでディレクトリを登録して、globでその配下のフォルダを取ってきます。 こんな感じでfor文で回すことができそうです。 from pathlib import Pathdirectory_path = r'

          PythonでWordをPDFに変換

          PythonでExcelファイルの結合

          大量のExcelファイルをとりあえず縦結合したい、ということがあります。 これも手作業だと大変ですよね。 今回の仕様は、以下のとおりです。 形式の同じ大量のExcelファイルが1つのフォルダに入っている。 これらのExcelファイルの"外来シート"を1つのシートに縦につなげる どのファイル由来かがわかるようにファイル名の先頭4文字(2014_精神.xlsxの場合"2014")を取り出し新しい列として加える。 こちらがプログラムの全容です。 import panda

          PythonでExcelファイルの結合

          PythonでPath操作(pathlib)

          PythonでPath情報やファイル名を取ったり、名前を変えたりするのっていろんな方法があります。そんな時に、pathlibというのが結構便利だったりします。 このようなフォルダ構成を題材にします。 基本(パスの登録) Path("パス名")とするとPathが登録されます。 from pathlib import Pathdir=Path(r"C:\Word_PDF\docs")print(dir)dir 実行すると WindowsPath('C:/Word_PDF/

          PythonでPath操作(pathlib)

          Pythonで一括ダウンロード

          WebサイトからExcelなどをダウンロードするときに、数が多いと「1つずつクリックして、保存場所を指定して」という作業が面倒な時があります。そんな仕事はPythonにやってもらいましょう。 厚生労働省のNDBオープンデータから精神疾患にかかっている保険点数のファイルを年度ごとにダウンロードします。 まずは試しに2014年のファイルをダウンロードします。 今回は、requestsというライブラリを用いました。 import requestsfrom pathlib im

          Pythonで一括ダウンロード

          オンライン診療は増えたのか?

          ビジネス戦略を立てるうえで、データの利活用が今後ますます重要になってきます。近年、各国政府が多くのオープンデータを公開しています。 今回は、厚生労働省の保険点数オープンデータから、2019年に保険適用となったオンライン診療の動向を見てみます。 いきなり結果から出します。 保険点数からみると、コロナが蔓延し始めた2020年にオンライン診療が急増しています。 面白いのは男女比です。年を追うごとに女性の利用者比率が上がっていることがわかります。さまざまな考察が考えられますが主な

          オンライン診療は増えたのか?

          テキストマイニングの前処理まとめ

          これまでやってきたテキストマイニングの前処理のまとめをします。 基本これまでの記事を1つの記事にまとめただけなので新しいことはあまりありません。 題材はツイッターのリツイートです。 サンプルをChat GPTで作りました。サンプルづくりにChat GPTは本当に便利です。 こんな感じです。 必要なパッケージのimportとデータフレーム作成import pandas as pd #データフレームをつくるimport emoji #絵文字を検出import re #正規表

          テキストマイニングの前処理まとめ

          Chat GPTに聞いてみた(戦争を無くす方法)

          Chat GPTに戦争を無くす方法を聞いてみました。 もっと具体的にできるでしょうか。 もっと突っ込んでみましょう。 ツッコミが続きます。 それができなさそうな時の解決策は? 会話は続きます。 さらに突っ込みます。本質は見えてくるでしょうか。 国際社会が一体になっていないことが問題だと思うのでそこを解決するには・・・ なにか突破口は見えてくるか?がんばれ世界の叡智! なるほど、自分のことだけでなく相手のことも考えましょう、ということですね。 そろそろまとめ

          Chat GPTに聞いてみた(戦争を無くす方法)

          StemmingとLemmatization

          テキストマイニングする前の処理として、これまで正規化、トークン化を行ってきました。この2つで文章をデータ化はできているのですが、このまま分析するにはまだ問題があります。例えば、 のような単語はほぼ同じような意味合いで使われていますが、このままでは別々のものとして扱われてしまいます。これを解決する方法としてstemmingとlemmatizationという2つの方法があります。 ざっくり言うとstemmingは機械的に右側を切っていく、lemmatizationはルールに従

          StemmingとLemmatization

          Pythonでトークン化

          私はいままでテキストマイニングにはKH Coderを使っていたのですが、スピードと自由度を求めてPythonを使うことにしました。特にこのトークン化はPythonのほうがやりやすいです。 今回はこの文をトークン化していきます。 トークン化テキストマイニングの前処理として、前回の正規化に加え、トークン化を行います。英語ではTokenizationと言います。 これは、長い文を単語などの単位に分割する作業です。 トークン化には、nitkというライブラリを使います。 imp

          Pythonでトークン化

          Pythonで正規表現

          正規表現を制するものはPythonを制する、とまではいかないですが、奥の深い正規表現を扱ってみます。 一覧は、こちらのQiitaの中にある表がとても分かりやすかったです。 X(twitter)データの加工まずは、この文字列をテキストマイニングできるように加工していきましょう。 処理の概要は、こんな感じです。 ・余分な文字列を取り除く ・ユーザIDはUsernameに置き換える ・😀(感情表現)を文字化する まず"RT "を除きましょう。 import retext

          Pythonで正規表現

          Pythonでワードクラウド

          ちょっとテキストマイニングのまねごとをしてみます。 サンプルデータはこのようなものです。 病名がリスト化されたシンプルなテキストファイルです。 まずはこれをデータフレーム化します。このテキストにはHeaderがないのでヘッダーも指定してデータフレームを作成します。 import pandas as pdheaders = ['AE_Name']df = pd.read_table('Adverse events.txt',names=headers)df header

          Pythonでワードクラウド

          PythonでPDF注釈を取り出す(PyMuPDF)

          文書レビューをお願いするときに、元の文書をいじってもらいたくない場合があります。そんな時はPDFを回して注釈を付けてもらいます。 この注釈を取り出し、ExcelでOutputしてみます。今回はPyMuPDFを使います。 まずはPyMuPDFをインストールします。 !pip install PyMuPDF fitzをimportし、PDFファイルを読み込みます。 import fitz # PyMuPDFの別名# PyMuPDFを使用してPDFを開くpdf_file

          PythonでPDF注釈を取り出す(PyMuPDF)