Pandas Series.str.center() 方法



Pandas 中的Series.str.center() 方法用於將 Series 或 Index 中的字串的左右兩側填充到指定的寬度。

此方法確保字串在新寬度內居中,並使用指定的填充字元填充其他字元。此操作類似於 Python 中的字串方法str.center()

語法

以下是 Pandas Series.str.center() 方法的語法 -

Series.str.center(width, fillchar=' ')

引數

Series.str.center() 方法接受以下引數 -

  • width:指定結果字串的最小寬度的整數。其他字元將使用fillchar填充。
  • fillchar:指定填充字元的字串,預設為空格。

返回值

Series.str.center() 方法返回一個新的 Series,其中字串已居中並使用指定的填充字元填充到指定的寬度。

示例 1

在此示例中,我們演示了Series.str.center() 方法的基本用法,將其應用於字串的 Series。

import pandas as pd

# Create a Series of strings
s = pd.Series(['dog', 'lion', 'panda'])

# Display the input Series
print("Input Series")
print(s)

# Center the strings with a width of 8 and fill character '.'
print("Series after calling center with width=8 and fillchar='.':")
print(s.str.center(8, fillchar='.'))

當我們執行以上程式碼時,它會產生以下輸出 -

Input Series
0      dog
1     lion
2    panda
dtype: object

Series after calling center with width=8 and fillchar='.':
0    ..dog...
1    ..lion..
2    .panda..
dtype: object

示例 2

此示例演示瞭如何使用Series.str.center() 方法格式化 DataFrame 中的“Animal”列,透過使用自定義填充字元將每個動物名稱居中到指定的寬度。

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'Animal': ['dog', 'lion', 'panda'], 'Legs': [4, 4, 2]})

print("Input DataFrame:")
print(df)

# Center the strings in the 'Animal' column with a width of 8 and fill character '-'
df['Animal'] = df['Animal'].str.center(8, fillchar='-')

print("DataFrame after applying center with width=8 and fillchar='-':")
print(df)

以下是以上程式碼的輸出 -

Input DataFrame:
  Animal  Legs
0    dog     4
1   lion     4
2  panda     2

DataFrame after applying center with width=8 and fillchar='-':
    Animal  Legs
0  --dog---     4
1  --lion--     4
2  -panda--     2

示例 3

在此示例中,我們將Series.str.center() 方法應用於 Index 物件。這展示瞭如何使用它透過使用指定的寬度和填充字元居中來格式化 DataFrame 中的索引標籤。

import pandas as pd

# Create a DataFrame with an Index
df = pd.DataFrame({'Value': [1, 2, 3]}, index=['first', 'second', 'third'])

# Display the Input DataFrame
print("Input DataFrame:")
print(df)

# Center the index labels with a width of 10 and fill character '*'
df.index = df.index.str.center(10, fillchar='*')

# Display the Modified DataFrame
print("Modified DataFrame:")
print(df)

以上程式碼的輸出如下 -

Input DataFrame:
        Value
first       1
second      2
third       3

Modified DataFrame:
            Value
**first***      1
**second**      2
**third***      3
python_pandas_working_with_text_data.htm
廣告