更改列中的值与Python中的pandas的其他列相比

时间:2016-08-13 19:24:25

标签: pandas

我是Python和熊猫的初学者,希望任何人都可以提供帮助!

我有一个带有两列的csv文件,一个告诉日期(15-02-88)和拥有一辆汽车的自由损失年数(dfy)。因为你必须年满18岁才能获得执照,因此无损伤年数不能超过你的年龄 - dfy。因此,例如,当某人出生在88岁时,无损伤岁月不能高于10岁。

birthdate  dfy
15-02-88   20
28-09-92    2
08-03-52   28

我想确保更改dfy列中的所有值,以便将不可能的值更改为可能的值。

到目前为止,我有这个:

import csv
import pandas as pd
import datetime
from datetime import timedelta, date


df = pd.read_csv('Path')


for row in df.iterrows():
    years_over_18 = (datetime.date.today())
    years_over_18 = jaren_over_18 - row[1]['birthdate'] -  row[1]['birthdate']) - timedelta(days = 365.25 * 18) 
    damage_free_years = timedelta(days = row[1]['dfy'] * 18) 
    print (years_over_18 >= damage_free_years)

df = pd.read_csv('Path')
over_18 = []

for row in df.iterrows():
    years_over_18 = datetime.date.today() -  row[1]['birthdate'] timedelta(days = 365.25 * 18) 
    damage_free_years = timedelta(days = row[1]['dfy'] * 18) 
    over_18.append(jaren_over_18 >= damagefreeyears)

df['over_18'] = over_18

然而,我真的在努力克服我能做什么/不能用熊猫做什么以及如何让它发挥作用。如果有人有建议或可以提供帮助,我真的很感激!

可重复的例子:

from pandas import DataFrame
df = DataFrame({"birtdate":["15-02-88", "28-09-92", "08-03-52"], "dfy":[20,2,28]})

0 个答案:

没有答案