0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

豆腐文字?

あなたは、豆腐文字 をご存じでしょうか??

こういうやつです⇒(□□)

Pythonのmatplotlib を使ってグラフを作成すると
おおよそ日本語に対応していないフォントなので
□□ になっていまうこと ありますよね・・・。

「matplotlib 文字化け」等で検索すると、便利ライブラリ「japanize-matplotlib」を使った解決法があります。
また、日本語に対応しているフォントを追加して、手動で設定する方法もあります。

ー参考記事ー

公式:japanize-matplotlib

これで解決することが多いのですが、ドツボにはまってどうしようもない・・・
という方向けの記事になります!

AWSのSagemaker Studio でドツボにはまった。

上記手段を試しても、うまく日本語表示ができない時期があり、今回紹介する方法で乗り切っていました。

対応方法

★日本語を使わずに、日本語として理解できればOKじゃん!

ということで、ローマ字表記に変換 しました💡

事例

以下のような列をもつデータがあったとします。
これをChatGPTの力を借りて変換します!

変換前

2015年(平成27年)の人口(組替)
5年間の人口増減数
5年間の人口増減率
面積(参考)
人口密度
平均年齢
年齢中位数

変換後

2015nen(Heisei27nen)-no-jinko(kumikae)
5nenkan-no-jinkozougensu
5nenkan-no-jinkozougenritsu
menseki(sanko)
jinkomitsudo
heikinnenrei
nenreichuiisuu

★なんとなく読めますよね・・・ね!

ー変換に使ったプロンプトー

以下の列名をローマ字表記に変換してください。
例:5年間の人口増減数 ⇒ 5nenkan-no-jinkozougensu

2015年(平成27年)の人口(組替)
5年間の人口増減数
5年間の人口増減率
面積(参考)
人口密度
平均年齢
年齢中位数

ー参考コードー

import pandas as pd

# 元の列名
columns = [
    '2015年(平成27年)の人口(組替)',
    '5年間の人口増減数',
    '5年間の人口増減率',
    '面積(参考)',
    '人口密度',
    '平均年齢',
    '年齢中位数'
]

# 変換後の列名
columns_romaji = [
    '2015nen(Heisei27nen)-no-jinko(kumikae)',
    '5nenkan-no-jinkozougensu',
    '5nenkan-no-jinkozougenritsu',
    'menseki(sanko)',
    'jinkomitsudo',
    'heikinnenrei',
    'nenreichuiisuu'
]

# サンプルデータフレームの作成
data = {columns[i]: [i] for i in range(len(columns))}
df = pd.DataFrame(data)

# 列名をローマ字表記に変換
df.columns = columns_romaji

# 結果を表示
print(df)

終わりに

どうでしたでしょうか? 
ちょっとバカらしいですが、とりあえずは先に進むことができます・・・!
(ここが大事!)

というわけで、倒すのではなく、迂回ルートを通る感じの記事でした!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?