python pandas添加前导零以使所有月份为2位数

Ice*_*lin 6 python dataframe pandas

如何添加前导零,以便我至少有两位数.

     Week product  quantity        Month
0  201301    coke       1.5           1
1  201302   fanta       1.7           2
2  201304    coke       3.6           5
3  201306  sprite       2.4          10
4  201308   pepsi       2.9          12
Run Code Online (Sandbox Code Playgroud)

即将以上数据帧转换为如下:

     Week product  quantity         Month
0  201301    coke       1.5           01
1  201302   fanta       1.7           02
2  201304    coke       3.6           05
3  201306  sprite       2.4           10
4  201308   pepsi       2.9           12
Run Code Online (Sandbox Code Playgroud)

HYR*_*YRY 12

map()系列的使用方法"{:02}".format:

data = """     Week product  quantity        Month
0  201301    coke       1.5           1
1  201302   fanta       1.7           2
2  201304    coke       3.6           5
3  201306  sprite       2.4          10
4  201308   pepsi       2.9          12
"""

import pandas as pd
import io

df = pd.read_csv(io.BytesIO(data), delim_whitespace=True)
df["Month"] = df.Month.map("{:02}".format)
Run Code Online (Sandbox Code Playgroud)


anu*_*gal 6

在 Python 2.7 中,您可以使用

>>> month = 9
>>> '{:02}'.format(month)
'09'
Run Code Online (Sandbox Code Playgroud)

这里 2 in {:02} 指定通过前缀“0”将输入数字转换为 2 个字符。如果输入数字的长度为 2,则该数字将保持不变。