-
PythonでDataFrameから回文名をフィルタリングする方法【2つの解法を解説】
pandasのデータフレーム(DataFrame)に含まれる名前の中から、回文(前から読んでも後ろから読んでも同じになる文字列)となっているものを抽出する方法を、2つの異なるアプローチで解説します。 実行結果のイメージ 回文名を抽出して表示すると、以下のような結果が得られます。 回文名は以下の通りです: Id Name 0 1 bob 2 3 hannah 解法1:リスト内包表記を使う方法 まず、データフレームを定義します。 リスト内包表記を使用し、forループで df[Name] 列のすべての値に変数 i でアクセスします。if条件で「i == i[:
-
【Python・Pandas入門】1から100までのマジックナンバーを抽出してSeriesを作成する2つの方法
本記事では、PythonのPandasライブラリを使って、1から100までの数値の中から「マジックナンバー」を抽出し、Seriesとして作成する方法を2つのアプローチで解説します。 ここでいうマジックナンバーとは、各桁の数字の合計が1または10になる数値のことです。たとえば、19は 1 + 9 = 10、28は 2 + 8 = 10 となるためマジックナンバーに該当します。 プログラムを実行すると、以下のような結果が得られます。 magic number series: 0 1 1 10 2 19 3 28 4 37 5 46 6
-
Python Pandasでデータフレームの摂氏(℃)列を華氏(℉)に変換する方法
PythonのPandasライブラリを使えば、データフレーム内の摂氏(Celsius)データを簡単に華氏(Fahrenheit)へ変換できます。本記事では、df.assign()とdf.apply()の2つのアプローチを用いた具体的な実装方法を解説します。 温度変換の基本公式 摂氏から華氏への変換は、以下の公式に基づいて行われます。 華氏(℉)= 摂氏(℃)× 9/5 + 32 この計算式をラムダ関数(lambda)の中に組み込むことで、データフレーム全体に対して効率的に変換処理を適用できます。 変換結果のイメージ 摂氏から華氏への変換を実行すると、以下のような結果が得られます。 Id Cel
-
【Python】データフレームのCity列から頭文字が重複する都市だけを抽出・フィルタリングする方法
Pandasのデータフレームを扱っていると、「City列に含まれる都市名のうち、先頭文字(イニシャル)がほかの行と重複しているものだけを抽出したい」という要件に出会うことがあります。本記事では、Pythonを使ってこのフィルタリング処理を実装する具体的な手順を、サンプルコード付きでわかりやすく解説します。 ゴールとなる出力 処理後のデータフレームは次のようになります。頭文字が2回以上登場する都市(Kolkata・Hyderabad・Haryana・Kakinada・Kochin)だけが残り、頭文字が一意な都市は除外されます。 Id City 2 3 Kolkata
-
Pythonで偶数長のランダム4桁PIN番号シリーズを生成する方法【ユーザー入力の検証つき】
この記事では、ユーザーから系列サイズ(長さ)を入力として受け取り、偶数が入力されるまで繰り返し尋ねたうえで、ランダムな4桁のPIN番号シリーズを生成するPythonプログラムを紹介します。実行結果の例偶数長のランダムな4桁PIN番号シリーズを生成すると、以下のような出力が得られます。enter the series size 4 Random four digit pin number series 0 0813 1 7218 2 6739 3 8390解決手順この問題を解くためには、以下の手順に従います。空のリストを作成し、結果を格納する変数 result を
-
PythonでデータフレームをLaTeXドキュメントに変換するプログラムを作成する方法
はじめにpandasのデータフレームをLaTeX形式の表に変換できれば、論文やレポートへの表の組み込みが格段に楽になります。本記事では、to_latex()メソッドを使ってデータフレームをLaTeXドキュメント用のコードに変換する方法を解説します。変換後の出力イメージたとえば、次のようなデータフレームがあるとします。これをLaTeX形式に変換すると、以下のような出力が得られます。\begin{tabular}{lrr} \toprule {} & Id & Age \\ \midrule 0 & 1 & &nb
-
PythonでSeriesをダミー変数に変換し、NaN値を除外する方法
pandasのSeriesに含まれるカテゴリカルデータをダミー変数(one-hotエンコーディング)に変換する際、NaN値をどのように扱うかは重要なポイントです。この記事では、pd.get_dummies()関数を使ってSeriesをダミー変数に変換し、dummy_na=Falseを指定することでNaN値を除外する方法を解説します。期待される出力例えば、「Male」と「Female」からなるSeriesをダミー変数に変換すると、以下のような結果が得られます。 Female Male 0 0 1 1 &nb
-
【Python】pandasで日付列を「日・月・年」の複数列に分割する方法
はじめにデータ分析の現場では、17/05/2002 のような文字列形式の日付データを扱うことがよくあります。この記事では、pandasのデータフレームに含まれる日付列を、「日(day)」「月(month)」「年(year)」の3つの列に分割する方法を解説します。まず、以下のようなデータフレームを想定します。これを分割すると、結果は次のようになります。 date day month year 0 17/05/2002 17 05 2002 1 16/02/1990 16 02 1990 2 25/09/1980 25 09 1980
-
2つのPandasシリーズを1つのデータフレームに結合するPythonコードの書き方
Pythonのpandasライブラリでは、2つのシリーズ(Series)を組み合わせて1つのデータフレーム(DataFrame)に変換できます。例えば、以下のような2つのシリーズがあるとします。 Id Age 0 1 12 1 2 13 2 3 12 3 4 14 4 5 15この結果を得るためには、主に3つの異なるアプローチがあります。それぞれの方法を順番に見ていきましょう。解決策1:DataFrameコンストラクタと列の代入を利用するまず、series1とseries2という名前で2つのシリーズを定義します。最初のシリーズをpd.DataFrame()に渡してデータフレームを作成
-
Pythonでキャメルケース文字列を検証し、分割してpandasのSeriesに保存する方法
Pythonとpandasを使えば、ユーザーが入力した文字列がキャメルケース(camelCase)形式かどうかを検証し、正しい形式であれば単語ごとに分割して新しいSeriesとして保存できます。本記事では、その具体的な実装方法をサンプルコードとともに解説します。 実行結果のイメージ キャメルケース文字列を分割してSeriesに変換すると、次のような結果になります。 enter the string: pandasSeriesDataFrame Series is: 0 pandas 1 Series 2 Data 3 Frame dtype: object 解決の
-
TensorFlow Textを使ってPythonでUTF-8文字列を分割する方法
UTF-8文字列はTensorFlow Textを使って分割できます。これには「UnicodeScriptTokenizer」を利用します。まず「UnicodeScriptTokenizer」のインスタンスを作成し、その後、このトークナイザーが持つ「tokenize」メソッドを対象の文字列に対して呼び出します。 前提知識:KerasとTensorFlowの関係 ここではKerasのSequential APIを使用します。Sequential APIは、層を単純に積み重ねたモデルを構築する際に便利で、各層は必ず1つの入力テンソルと1つの出力テンソルを持ちます。 なお、少なくとも1つの畳み込み
-
Pythonのunicode_split()を使ってTensorFlow Textで文字列を文字単位に分割する方法
TensorFlow Textでは、「unicode_split」メソッドを使って文字列を文字単位に分割できます。手順としては、まず分割対象の文字列をエンコードし、その関数呼び出しの結果を変数に代入します。この変数に関数呼び出しの結果が格納されます。 関連記事:TensorFlowとは何か?KerasがどのようにTensorFlowと連携してニューラルネットワークを構築するのか? 本記事ではKeras Sequential APIを使用します。これは、各レイヤーが正確に1つの入力テンソルと1つの出力テンソルを持つ、シンプルなレイヤーのスタックからなる逐次モデルを構築する際に役立つAPIです。
-
tf.textを使ってPythonで文字列が特定のプロパティを持つかどうかを判定する方法
文字列が特定のプロパティを持つかどうかを調べるには、「wordshape」メソッドに「HAS_TITLE_CASE」「IS_NUMERIC_VALUE」「HAS_SOME_PUNCT_OR_SYMBOL」などの条件を組み合わせて使用します。 関連記事:TensorFlowとは何か、KerasはTensorFlowと連携してニューラルネットワークをどのように構築するのか 前提知識:Keras Sequential APIとTensorFlow Text 本記事では、KerasのSequential APIを使用します。これは、各レイヤーが正確に1つの入力テンソルと1つの出力テンソルを持つ、単純な
-
TensorFlow TextをPythonのWhitespaceTokenizer(空白文字トークナイザー)で使う方法
TensorFlow Textは、WhitespaceTokenizerを呼び出すことで空白文字トークナイザーとして利用できます。このトークナイザーを作成した後、文字列に対してtokenizeメソッドを使うことで、テキストをトークンに分割できます。関連記事: TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組み前提知識:Keras Sequential APIについて本記事ではKerasのSequential APIを使用します。このAPIは、層を単純に積み重ねたシーケンシャルモデルを構築するのに便利です。Sequentialモデルでは
-
TensorFlowを使ってPythonで特徴量カラム(Feature Columns)を定義する方法
TensorFlowでは、Estimatorモデル用の特徴量カラムを定義できます。具体的には、空のリストを作成し、トレーニングデータセットの「key」の値にアクセスして反復処理を行います。この反復処理の中で、特徴量の名前を空のリストに追加していくことで、特徴量カラムのリストが構築されます。前提知識本記事のコードでは、Keras Sequential APIを使用します。これは、各レイヤーが正確に1つの入力テンソルと1つの出力テンソルを持つ、単純なレイヤーのスタックで構成されるシーケンシャルモデルを構築する際に役立ちます。少なくとも1つの畳み込み層(Convolutional Layer)を含む
-
TensorFlowとPythonで推定器(Estimator)をインスタンス化する方法を解説
TensorFlowで推定器(Estimator)をインスタンス化するには、TensorFlowライブラリのestimatorクラスに含まれるDNNClassifierメソッドを使用します。Estimatorとは何かEstimatorは、TensorFlowにおける完全なモデルの高レベルな抽象表現です。スケーリングや非同期学習を容易に行えるよう設計されており、モデルの構築・学習・評価のプロセスをシンプルにまとめることができます。本記事では、アヤメ(Iris)データセットを用いて分類モデルを学習させる例を紹介します。なお、コードの実行にはGoogle Colaboratoryを使用しています。G
-
TensorFlowのEstimatorとPythonを使ってモデルをトレーニング(コンパイル)する方法
TensorFlowでは、Estimatorのtrainメソッドを使用することで、モデルのコンパイルと学習を行うことができます。 本記事では、Keras Sequential APIを使用します。このAPIは、各レイヤーが正確に1つの入力テンソルと1つの出力テンソルを持つ、シンプルなレイヤーの積み重ねで構成される逐次モデルを構築するのに適しています。 前提知識 少なくとも1つの畳み込み層(Convolutional Layer)を含むニューラルネットワークは、畳み込みニューラルネットワーク(CNN)と呼ばれ、学習モデルの構築に利用できます。また、TensorFlow Textには、Tensor
-
TensorFlowのEstimatorを使ってPythonでモデルを評価する方法
TensorFlowでは、Estimatorと組み合わせることでモデルの評価が可能です。評価には、classifierモジュールに用意されているevaluateメソッドを使用します。前提知識本記事では、KerasのSequential APIを使用します。Sequential APIは、各レイヤーがちょうど1つの入力テンソルと1つの出力テンソルを持つ、シンプルな層のスタックからなる逐次モデルを構築するのに適しています。畳み込みニューラルネットワーク(CNN)を利用すれば、学習モデルを構築できます。また、TensorFlow Textには、テキスト関連のクラスやオペレーションのコレクションが含ま
-
TensorFlowのEstimatorを使って学習済みモデルから予測を行う方法
TensorFlowをEstimatorと組み合わせて使用すれば、「classifier」に用意されている「predict」メソッドを呼び出すだけで、新しいデータに対する予測出力を簡単に取得できます。関連記事: TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組み本記事ではKeras Sequential APIを使用します。このAPIは、各レイヤーが必ず1つの入力テンソルと1つの出力テンソルを持つ、シンプルなレイヤー積み重ね構造の逐次モデル(Sequentialモデル)を構築するのに適しています。畳み込みニューラルネットワーク(CNN
-
TensorFlowのEstimatorとPythonを使って予測結果を出力する方法
「predict」メソッドは、これまで一度も見たことのないデータに対して呼び出されます。そして、予測結果と実際の値がコンソール上に表示されます。関連記事:TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組み前提知識本記事では、KerasのSequential APIを使用します。このAPIは、各レイヤーが必ず1つの入力テンソルと1つの出力テンソルを持つ、単純なレイヤーの積み重ねからなるシーケンシャルモデルを構築する際に非常に便利です。畳み込み層を少なくとも1つ含むニューラルネットワークは、畳み込みニューラルネットワーク(CNN)と呼ばれ