我真的需要帮助。我之前的帖子很糟糕,不清楚-对不起-我希望我可以删除,但希望这一个会更好。
我需要根据日期计算年龄(见分析部分和最终结果部分)。
"JOLIE", 09091959,02051983
"PORTMAN",02111979,01272002
"MOORE", 01281975,01182009
"BEST", 04081973,07022008
"MONROE", 04161957,11231979
from pandas import DataFrame, read_csv
import matplotlib.pyplot as plt
import pandas as pd
columns = ['lname','dob','scd_csr_mdy']
raw_data = pd.read_csv(r'C:\Users\davidlopez\Desktop\Folders\Standard Reports\HR Reports\eeprofil \eeprofil.txt',`
names=columns, parse_dates = ['dob','scd_csr_mdy'})
df1 = raw_data
In [1]: df1
Out [1]:
lname dob scd_csr_mdy
0 JOLIE 09091959 02051983
1 PORTMAN 02111979 01272002
2 MOORE 01281975 01182009
3 BEST 04081973 07022008
4 MONROE 04161957 11231979
我尝试执行以下操作,但收到一个错误:
now = datetime.now()
df1['age'] = now - df1['dob']
但我收到了错误:
TypeError: unsported operant type(S) for -: 'datetime.datetime' and 'str'
lname dob scd_csr_mdy DOB_AGE SCD_AGE
0 JOLIE 09091959 02051983 55 32
1 PORTMAN 02111979 01272002 36 13
2 MOORE 01281975 01182009 40 6
3 BEST 04081973 07022008 42 6
4 MONROE 04161957 11231979 58 35
有什么建议。。。。。?
将dob列从string转换为datetime对象
如果没有太多条目,可以执行以下操作:
将字符串转换为日期时间格式
相关问题 更多 >
编程相关推荐