プログラム
hiragana_sort.py
#! /usr/bin/python
import pandas as pd
from pykakasi import kakasi
# ------------------------------------------------------------------
def kanji_to_hiragana(kanji):
kks = kakasi()
result = kks.convert(kanji)
hiragana = ""
for converted_word in result:
hiragana += converted_word['hira']
return hiragana
# ------------------------------------------------------------------
data = {
'name': ['山田','佐藤','山内','鈴木','伊藤','田中','高橋','野田','相川'],
'age': [25,30,22,35,28,31,27,21,32]
}
df = pd.DataFrame(data)
df['name_hiragana'] = df['name'].apply(kanji_to_hiragana)
sorted_df = df.sort_values(by='name_hiragana')
print(sorted_df[['name', 'name_hiragana']])
# ------------------------------------------------------------------
実行結果
$ ./hiragana_sort.py
name name_hiragana
8 相川 あいかわ
4 伊藤 いとう
1 佐藤 さとう
3 鈴木 すずき
6 高橋 たかはし
5 田中 たなか
7 野田 のだ
2 山内 やまうち
0 山田 やまだ