データフレームから複数列を取得する方法

方法

print(df[['a', 'b']])

解説

df['a']で取得できるのはSeriesオブジェクトである。 一方、df'a', 'b'で取得できるのはDataFrameオブジェクトである。

Seriesオブジェクトは、単一の列は表現できるが、複数列は表現できない。 そのため、df['a', 'b']と定義してもエラーになってしまう。

なお、単一列はDataFrameオブジェクトは定義可能である。 単一列をDataFrameオブジェクトで取得したい場合は、df'a',と定義すれば良い。

P54 クロステーブル・クロス集計

本誌では、図解と共に解説してくれているため、分かりやすい。
(自身は保持しているため、メモ用として部分的に引用)

クロステーブル

行方向(縦)には商品名が並び、列方向(横)には売上月が並びます。 行と列が交差(cross)するところに数値が入ることから、これをクロステーブル(cross table)と呼びます。

クロス集計

トランザクションテーブルからクロステーブルへと変換する処理をクロス集計(cross tabulation)と呼びます。

トランザクションテーブル

行方向にのみ増加するようにして、列方向にはデータを増やさないようにします。 これをトランザクションテーブル(transaction table)と呼びます。

ルックアップテーブル

いわゆる正規化した際の参照される側のテーブルのこと。
例) 郵便番号テーブル、金融機関コードテーブル

read_clipboard:クリップボードのデータを読み込む

概要

クリップボードの内容をデータフレームとして読み込む。
csvファイル配置して、それを読み込んでとかするのもめんどい場合に便利。

実装例

import pandas as pd

df = pd.read_clipboard()
print(df)

その他

  • polarsの場合も同じ関数名である。
  • Notebookで取得した後は、変数をどこかにすぐ退避した方が良い
    すぐデータを潰してしまう。

参考リンク

pandas.read_clipboard — pandas 2.2.2 documentation polars.read_clipboard — Polars documentation

サロゲートペアでない絵文字

間違った覚え方

以下が表示できているからといってサロゲートペアな絵文字が使えると考えるのは短絡的である。

  • 絵文字が使える
  • 複雑な絵文字が使える
  • カラーな絵文字が使える

以下の様に見た目だけでは、サロゲートペア文字かどうかは判断が付かない。
また、利用しているフォント次第では、見え方が違う場合もあるため更にややこしい。

サロゲートペアを必要とする絵文字

絵文字 Unicode UTF-16 UTF-8
🎂 U+1F382 D83C DF82 F0 9F 8E 82
🍕 U+1F355 D83C DF55 F0 9F 8D 95
🍰 U+1F370 D83C DF70 F0 9F 8D B0
😀 U+1F600 D83D DE00 F0 9F 98 80

サロゲートペアを必要としない絵文字

絵文字 Unicode UTF-16 UTF-8
U+26FD 26FD E2 9B BD
✈️ U+2708 2708 E2 9C 88
U+26F5 26F5 E2 9B B5
U+26BD 26BD E2 9A BD

補記事項

更にややこしいことに、サロゲートペア対応ができてなくても、サロゲートペアな文字は表示できる場合がある。
例えば、データベースにサロゲートペア文字が正しく格納できていた場合、それらの値を取得したあとに無編集のまま出力すれば表示できる場合がある。
(保存・表示系がサロゲートペア文字に対応しているが、編集系がサロゲートペア文字に対応していないケース) そのため、問題を引き起こす可能性は高いが、把握してコントロールしているのであればその様な使い方もゼロではないかとは思う。

VSCodeでJupyter NotebookとPandasを動かす

行いたいこと

  • WindowsVSCodeでJupyter Notebookを用いたい
  • 仮想環境は切り替えながら利用したい
  • Pandas(もしくはPolars)を使いたい

対応方法(初期設定)

Pythonをインストール

いくつかインストール方法があるが、私は分かりやすい通常のexeインストールを選択
Download Python | Python.org

VSCodeにJupyterをインストール

VSCodeマーケットプレイス経由でJupyterをインストール
Jupyter - Visual Studio Marketplace

仮想環境を作成

なお、無理にVSCodeで作らなくても、コマンドプロンプトで作っても良い。

  1. Ctrl + @ でコマンドプロンプト起動
  2. 仮想環境を作成した場所に移動(例:cd c:\work\venv)
  3. 仮想環境を作成(例:python -m venv jupyter4code)

Jupyter Notebooksを利用する

ワークスペースを作成

名前のないワークスペースでも構わないが、作成しておいた方が分かりやすい。
ワークスペースは異なる箇所にあるフォルダを開いて管理できたりする。
別の作業を行う際には、対象のワークスペースを閉じて、別のを開くという使い方をする。

上のフォルダと下のフォルダは違う階層にあるが、ここでは同列で表示される

ワークスペースを作成後に、フォルダを追加するで先ほどの仮想環境を含むフォルダを追加する。
この設定を行うことで、後述するJupyterNotebookの仮想環境を選択が行いやすくなる。
(他にも設定する方法あるのかもしれないが)

右クリックすればワークスペースをフォルダを追加するメニューが出てくる

なお、以下の様な構成で私は管理している。 ワークスペースは概念的には管理用フォルダ外でも良いとは思う。 ただ、このワークスペースは当フォルダに配置しているものでしか使わない想定にしている。 そのため、管理用フォルダ配下にワークスペースファイルを配置している。

C:\work\jupyter4code(管理用フォルダ兼仮想環境用フォルダ)
C:\work\jupyter4code\Jupyter用わーくすぺーす.code-workspace(ワークスペース)
C:\work\jupyter4code\lab.ipynb(JupyterNotebook)
C:\work\jupyter4code\Scripts\python.exe(仮想環境用のPython.exe)

ノートブックを作成

  1. Ctrl + Shift + p でコマンドパレットを呼出
  2. Create New Jupyter Notebook と入力

当ノートブックは、C:\work\jupyter4code\lab.ipynbとしてセーブした。

仮想環境を選択

自身が用いたい仮想環境が設定されていない場合は、仮想環境を選択する。
(ここでワークスペースに仮想環境が含まれていると、検出がスムーズにいく模様) この設定を行うことで、仮想環境側のPythonを用いてJupyter Notebookが実行できる。

  1. 右上のカーネルを検出する or 仮想環境をクリック(See. 図1)
  2. 入力欄に仮想環境の候補を選択、無ければ"別のカーネルを選択"を選択
    (以下、別のカーネルを選択を選んだ場合)
    1. Python環境を選択
    2. Python環境の候補から事前に作成しておいたのを選択
      図1 左:仮想環境が決まってない場合、右:仮想環境が決まっている場合

pipのバージョンアップおよびPandas/Polarsのインストール

!python -m pip install --upgrade pip
!python -m pip install Pandas
!python -m pip install Polars

Pandas/Polarsバージョン確認方法

import pandas as pd
print(pd.__version__)
import polars as pl
print(pl.__version__)

参考リンク

VSCodeでJupyter Notebookを使ってみた【ゼロからPython勉強してみる】 #初心者 - Qiita

cliborに登録しようとするとEncryptfile Errが発生

** 事象 cliborに登録を行おうとすると、「Encryptfile Err」というポップアップが表示される。 その後、OS再起動やCliborを再起動すると、もれなくデータがクリアされてしまう。

** 原因 インストール場所が悪い模様 chigusa-web.com

** 対応方法 公式の通り、Program Files以外に配置する。 私はProgramDataに配置したら、怒られなくなった。 試してないが、基本動作-起動/終了の暗号化設定を外しても解除できるかも。 (とはいえ、設定推奨と書かれているので、触らない方がいいかと)

AZ-104 更新作業

現AZ-104、旧AZ-100の更新作業に関する情報を(主に事務手続き等)記載します。

概要

試験名はAZ-104である。 合格すればAzure Administrator Associateとして認定される。

そもそも更新とは?

  • Azureは試験合格すると無料で更新が可能
  • 但し、1年に1回更新する必要がある
  • 更新するためには試験を受験する必要がある
  • 期限が切れる半年前から更新試験は受験できる
  • 更新猶予期間中は何回受けてもペナルティはない
  • その代わり、不合格の場合は24時間後でないと受験できない learn.microsoft.com

どうやって更新用プログラムを受験すればいいのか?

ログインした状態で以下のサイトを踏むと良い。 learn.microsoft.com

なお、新規およびAZ-104を受験するための前提条件はこちら。 learn.microsoft.com

資格取得の確認・証明書の確認・スコア再確認

プロファイルの資格証明メニューより、認定資格タブ内で以下を確認可能

  • 取得した認定資格の一覧
  • 取得した資格の証明書のダウンロード
  • 取得した資格スコア確認
    認証資格の詳細の表示をクリックすると証明書ダウンロード画面に遷移する
    プロファイル | Microsoft Learn

参考リンク