如何从我的列中删除前导“ 0”?蟒蛇

时间:2020-11-12 10:27:49

标签: python pandas

我正在尝试删除开头为数据的“ 0”

我的数据框看起来像这样

Id    Year   Month    Day
1     2019   01       15
2     2019   03       30
3     2019   10       20
4     2019   11       18

注意:“年”,“月”,“日”列的数据类型为object

我从日期中提取“年”,“月”,“日”列。 我想在每个月初删除“ 0”。

所需的Ouput:

Id    Year   Month    Day
1     2019   1        15
2     2019   3        30
3     2019   10       20
4     2019   11       18

到目前为止我尝试做的事情: df['Month'].str.lstrip('0')

但这没用。

有解决方案吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用re软件包并在其上应用正则表达式

import re
# Create sample data
d = pd.DataFrame(data={"Month":["01","02","03","10","11"]})
d["Month" = d["Month"].apply(lambda x: re.sub(r"^0+", "", x))

结果:

0     1
1     2
2     3
3    10
4    11
Name: Month, dtype: object

如果您100%认为“月”列将始终包含数字,那么您可以简单地这样做:

d["Month"] = d["Month"].astype(int)