豆腐文字?
あなたは、豆腐文字 をご存じでしょうか??
こういうやつです⇒(□□)
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)
終わりに
どうでしたでしょうか?
ちょっとバカらしいですが、とりあえずは先に進むことができます・・・!
(ここが大事!)
というわけで、倒すのではなく、迂回ルートを通る感じの記事でした!