为了账号安全,请及时绑定邮箱和手机立即绑定

在熊猫中将一列替换为另一列

在熊猫中将一列替换为另一列

波斯汪 2023-06-13 14:43:59
我的数据框看起来像 -date           age        english        date2           value2020-01-08      29          55            NaT              52020-01-22      22          45            NaT              02020-01-08      29          55         2020-01-08          52020-01-18      43          75         2020-05-18          8NaT             NaN         NaN        2019-02-11          3我希望我的数据框看起来像 -date           age        english        value2020-01-08      29          55            52020-01-22      22          45            02020-01-08      29          55            52020-05-18      43          75            82019-02-11       0           0            3如何在熊猫中做到这一点
查看完整描述

2 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

我猜你想要一个具有最大日期值的日期列max(date,date2)


df:


    date        age     english date2   value

0   2020-01-08  29.0    55.0    NaN         5

1   2020-01-22  22.0    45.0    NaN         0

2   2020-01-08  29.0    55.0    2020-01-08  5

3   2020-01-18  43.0    75.0    2020-05-18  8

4   NaN         NaN     NaN     2019-02-11  3

df['date'] = pd.to_datetime(df['date'])

df['date2'] = pd.to_datetime(df['date2'])

df['date'] = df[['date','date2']].max(axis=1)

df.drop('date2', axis=1, inplace=True)

df.fillna(0,axis=1,inplace=True)

df:


    date        age     english value

0   2020-01-08  29.0    55.0    5

1   2020-01-22  22.0    45.0    0

2   2020-01-08  29.0    55.0    5

3   2020-05-18  43.0    75.0    8

4   2019-02-11  0       0       3 

编辑:


如果您只想替换为date2如果存在:


import numpy as np

df['date'] = pd.to_datetime(df['date'])

df['date2'] = pd.to_datetime(df['date2'])

df['date'] = np.where(df['date2'].isnull(),df['date'],df['date2'])

df.drop('date2', axis=1, inplace=True)

df.fillna(0,axis=1,inplace=True)


查看完整回答
反对 回复 2023-06-13
?
HUWWW

TA贡献1874条经验 获得超12个赞

import numpy as np
df['date'] = np.where(df['date'].isna(), df['date2'], df['date'])
df = df.drop('date2', axis=1)
df = df.fillna(0)


查看完整回答
反对 回复 2023-06-13
  • 2 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信