今回は、Pythonのcenter()関数について、String、NumPy、Pandasモジュールを使って理解していきます。
Python center() メソッドで文字列を扱う
PythonのStringには文字列を操作したり、扱ったりするための関数がたくさん内蔵されています。
文字列.center()メソッド`は、入力文字列の両側(左側と右側)に特定の文字を集中的に配置するパディングを行います。
構文は以下の様な感じです。
string.center(width,fillchar) |
-
width: この値は、文字列を囲むパディング領域を決定します。 -
fillchar: パディング領域は、特定の文字で埋められます。デフォルトの文字はスペースです。
例として以下の様になります。
例1:
inp_str = "Python with JournalDev"
print("Input string: ", inp_str)
res_str = inp_str.center(36)
print("String after applying center() function: ", res_str)
|
上記のコードでは、center()関数を使って、パラメータリストで定義された幅(36)の分だけ、デフォルトのfillchar、すなわちスペースで文字列をパディングしています。
出力は以下の通りです。
Input string: Python with JournalDev
String after applying center() function: Python with JournalDev |
例として以下の様になります。
inp_str = "Python with JournalDev"
print("Input string: ", inp_str)
res_str = inp_str.center(36,"$")
print("String after applying center() function: ", res_str)
|
結果は以下の通りです。
Input string: Python with JournalDev
String after applying center() function: $$$$$$$Python with JournalDev$$$$$$$ |
Python の center() 関数と Pandas モジュール
Python の center() 関数は、Pandas モジュールの DataFrame と一緒に使うこともできます。
DataFrame.str.center() 関数は、入力された文字列を、文字列の幅を含む特定の幅で、文字列の両端を埋める関数です。
構文は以下の様な感じです。
DataFrame.str.center(width,fillchar)
|
入力データセット:
contact
1 cellular
2 telephone
3 cellular
4 cellular
5 telephone
6 telephone
7 telephone
8 cellular
9 cellular
|
例えば、以下の様になります。
データセット:
import pandas
info=pandas.read_csv("C:/marketing_tr.csv")
info_con=pandas.DataFrame(info['contact'].iloc[1:10])
info_con['contact']=info_con['contact'].str.center(width = 15, fillchar = '%')
print(info_con['contact'])
|
結果は以下の通りです。
1 %%%%cellular%%%
2 %%%telephone%%%
3 %%%%cellular%%%
4 %%%%cellular%%%
5 %%%telephone%%%
6 %%%telephone%%%
7 %%%telephone%%%
8 %%%%cellular%%%
9 %%%%cellular%%%
Name: contact, dtype: object
|
Python center() 関数と NumPy モジュール
Python center()関数は、NumPyモジュールと一緒に使用することで、配列の各要素に対してセンターパディングを実行することができます。
numpy.char.center() メソッド`は、要素を中央に配置し、さらに配列要素の両側で特定の文字でパディングを行うために使用されます。
構文は以下の様な感じです。
numpy.char.center(array,width,fillchar) |
例えば、以下の様になります。
import numpy as np
inp_arr = ['Python', 'Java', 'Kotlin', 'C']
print ("Input Array : ", inp_arr)
res_arr = np.char.center(inp_arr, 15, fillchar = '%')
print("Array after applying center() function: ", res_arr)
|
上記の例では、配列の各要素に center() 関数を適用して、要素を中央に配置し、両側の幅に従って fillchar で配列要素をパディングしています。
結果は以下の通りです。
Input Array : ['Python', 'Java', 'Kotlin', 'C']
Array after applying center() function: ['%%%%%Python%%%%' '%%%%%%Java%%%%%' '%%%%%Kotlin%%%%' '%%%%%%%C%%%%%%%']
|
まとめ
この記事では、Pythonのcenter()関数とNumPy、Pandasモジュールのそれぞれの動作を理解することができました。