2024-05-12 16:05:41 发布
网友
下面是数据框中的一列:
Year 1981 1988 -1 1921 2000 -1
我需要从2020年开始将这些年(其中带-1的行除外)转换为天
我写过: df['Year'] = 2020 - df['Year']*365
df['Year'] = 2020 - df['Year']*365
在不考虑-1值的情况下,如何将这些年转换为天-我需要保持现状。我只需要换算年份
给你:
import numpy as np df['Year'] = np.where(df.Year != -1, (2020 - df.Year) * 365, -1) print(df)
输出
Year 0 14235 1 11680 2 -1 3 36135 4 7300 5 -1
你想要什么样的
df.loc[df['Year'] != -1, 'Year'] = (2020-df.loc[df['Year'] != -1, 'Year'])*365
输出:
另一种方式:
df = df.assign(Year=((2020-df.loc[df['Year'] != -1])*365)).fillna(-1) df
Year 0 14235.0 1 11680.0 2 -1.0 3 36135.0 4 7300.0 5 -1.0
第三条道路:
df['Year'] = ((2020 - df['Year'])*365).mask(df['Year']==-1, -1)
给你:
输出
你想要什么样的
输出:
另一种方式:
输出:
第三条道路:
输出:
相关问题 更多 >
编程相关推荐