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

标签 python pandas dataframe

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

     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

即将上面的数据框转换为以下内容:

     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

最佳答案

使用 Series 的 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)

关于python pandas 添加前导零以使所有月份均为 2 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20990863/

相关文章:

python - 如何在多个 Django 应用程序中保留一个菜单?

python - 从列表中删除重复的数字

python - 在 python 的静态方法中使用 AssertEquals

python - pandas 中带条件的滚动函数

python Pandas 调用 groupby.agg 中的复杂函数

python - 如何使用 Pandas 为包含特定字符串的单元格中的文本着色

python - 重新运行脚本后数据框和列表返回空

python - 如何打印 PYTHONPATH 的内容

python - 如何将数据帧中的单个值输出到 CSV?

r - 根据 R 中现有列中的组创建新列