用 Python 计算 .CSV 文件中的年龄

Posted

技术标签:

【中文标题】用 Python 计算 .CSV 文件中的年龄【英文标题】:Calculation Year of Age in a .CSV file by Python 【发布时间】:2019-04-04 02:35:32 【问题描述】:

我有一个 Customer_Profile.csv 文件,其中包含 Birthday 列,值类似于 19460620(YearMonthDay)格式。

我只想计算从现在/现在开始的年龄。此外,在计算年龄之后,我还想在一个名为Age_Group 的新列中对年龄进行分类/分组。

例如,年龄组应该如下:

10-20岁为第一组 21 至 30 岁为第 2 组 31-40岁为第三组

等等。为上述任务编写 python 脚本的任何想法。

【问题讨论】:

看看你的问题、格式和内容,问问自己是否或为什么有人愿意花时间在上面...How to Ask 是的,我开始回答这个问题,我知道该怎么做。不过,我什至不想尝试破译沙拉这个词 【参考方案1】:

您可以像这样使用datetime.datetime.strptime 轻松解析出生日期:

birth_date = datetime.datetime.strptime("19460620", "%Y,%m%d")

以及当前时间:

now = datetime.datetime.now()

那么您可以使用以下方法获取年龄:

birthday_passed = (now.month > birth_date.month) or 
                  (now.month == birth_date.month and now.day == birth_date.day)
age = now.year - birth_date.year
if birthday_passed:
    age -= 1

您可以使用整数除法来分组您的年龄:

group = (age - 1) // 10

使用 pandas 可以轻松完成 csv 读写。只需查找pandas.read_csvpandas.to_csv

【讨论】:

以上是关于用 Python 计算 .CSV 文件中的年龄的主要内容,如果未能解决你的问题,请参考以下文章

python中如何统计字符串中各个字母的个数

python [用pandas读csv] #py

Python用Python打开csv和xml文件

python用变量拼接并打印一句话。我叫xxx,我的年龄是28岁身高1.83?

使用 python 2.4 计算 CSV 文件中的列数

如何使用CLI命令在输入文件参数上运行Python脚本来生成输出文件