あなたのテキストデータを遊ぼう

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Pythonは、データ分析や統計計算に広く使われる強力で多用途のプログラミング言語です。その豊富なエコシステムには、テキスト分析や自然言語処理に特に設計されたライブラリが含まれており、テキストデータの処理に最適な選択肢となっています。

このチャレンジでは、Pythonの機能を活用して、テキストファイルのコレクションに対してテキストベースの統計分析を行います。Pythonを使ってテキストデータから意味のある洞察を抽出する方法を探ってみましょう。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/DataStructuresGroup -.-> python/lists("Lists") python/FileHandlingGroup -.-> python/file_reading_writing("Reading and Writing Files") python/FileHandlingGroup -.-> python/file_operations("File Operations") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/PythonStandardLibraryGroup -.-> python/os_system("Operating System and System") subgraph Lab Skills python/strings -.-> lab-130{{"あなたのテキストデータを遊ぼう"}} python/lists -.-> lab-130{{"あなたのテキストデータを遊ぼう"}} python/file_reading_writing -.-> lab-130{{"あなたのテキストデータを遊ぼう"}} python/file_operations -.-> lab-130{{"あなたのテキストデータを遊ぼう"}} python/data_collections -.-> lab-130{{"あなたのテキストデータを遊ぼう"}} python/os_system -.-> lab-130{{"あなたのテキストデータを遊ぼう"}} end

単語の総数

home/labex/files フォルダにいくつかのテキストファイルがあります。

あなたのタスクは、word_count.py と名付けられたPythonスクリプトを書くことです。このスクリプトは、これらすべてのテキストファイルを読み取り、それらすべての単語の総数を計算します。

句読点は単語としては考えないことに注意してください。たとえば、「java」ファイルには111個の単語があります。

要件

  • スクリプトを実行したときに、コンソールに単語の総数を表示する必要があります。
✨ 解答を確認して練習

高頻度単語

すでに総単語数を数え上げることに成功したので、次のタスクは、すべてのテキストファイルで最も頻度の高い上位3つの単語を特定することです。これを達成するために、Pythonスクリプト top_3_high_frequencies.py を書く必要があります。その後、このスクリプトは、これらの上位3つの単語とその頻度を、頻度の降順でコンソールに表示する必要があります。

たとえば、出力は次のようになります。

python top_3_high_frequencies.py

## コンソールに単語と頻度を表示する
word1 20
word2 15
word3 13

要件

  • スクリプトを実行したときに、上位3つの単語とそのカウントをコンソールに表示する必要があります。
  • 単語のカウントは大文字小文字を区別します。つまり、「Word」と「word」は別々の単語として扱われます。
  • 句読点は単語の一部とは見なされず、カウントから除外される必要があります。
✨ 解答を確認して練習

単語を順番に並べる

次に、各ファイル内の単語の順序を考えてみましょう。各ファイルの最初の単語を集め、次に各ファイルの2番目の単語を集めるとしたらどうでしょうか。そして、これを繰り返します。

あなたのタスクは、Pythonスクリプト step3_code.py を書くことです。このスクリプトは、各入力ファイルからn番目の単語を取り出し、それらを output/n という名前の新しいファイルに書き込みます。ここで、「n」は単語の位置(1から始まる)を表します。出力ファイルは /home/labex/project/output/ ディレクトリに作成する必要があります。

たとえば、各ファイルの最初の単語を考えると、output/1 の内容は次のようになります。

## output/1, 1から始めて数えます。
CentOS Java A Python Ubuntu

同様に、100番目の単語(存在する場合)については、output/100 の内容は次のようになります。

## output/100, 100番目のファイルでは、java、linux、programのみが100番目の単語を持っています。
applications and the

要件

  • output フォルダは /home/labex/project/ に配置する必要があります。
  • ファイルを読み取る順序は問題ありません。重要なのは各ファイル内の単語の順序だけです。
  • 句読点は単語の一部とは見なされず、除外する必要があります。
✨ 解答を確認して練習

まとめ

このPythonのチャレンジでは、Pythonを使って基本的なテキストデータ分析を行う方法を学びました。総単語数を数えること、最頻度の高い単語を特定すること、複数のテキストファイル内の単語の位置に基づいて単語を抽出し、結果を個別の出力ファイルに書き込むことを練習しました。このチャレンジを完了することで、Pythonでテキストデータを扱うための貴重なスキルを身につけ、テキストベースの統計分析を行う能力を向上させました。これらのスキルは、将来のより高度なテキスト処理タスクの基礎を形成します。