我有一本 df 字典:DataFrameDict:'A': date_time begin end 2019-10-21 07:39:07.927729 NaT 2019-10-21 07:42:24.747350 2019-10-21 07:39:26.356716 NaT 2019-10-21 07:42:02.574268 2019-10-21 07:40:03.235327 NaT 2019-10-21 07:42:02.222821'B': date_time begin end 2019-10-21 07:39:07.927729 2019-10-21 07:42:24.747350 NaT 2019-10-21 07:39:26.356716 NaT 2019-10-21 07:42:02.574268 2019-10-21 07:40:03.235327 NaT 2019-10-21 07:42:02.222821 我想這樣做:對于每個數據幀的每一行,如果 begin[i] == NaT 則 begin[i] = date_time[i] 否則: end[i] = date_time[i]。結果必須是:DataFrameDict:'A': date_time begin end 2019-10-21 07:39:07.927729 2019-10-21 07:39:07.927729 2019-10-21 07:42:24.747350 2019-10-21 07:39:26.356716 2019-10-21 07:39:26.356716 2019-10-21 07:42:02.574268 2019-10-21 07:40:03.235327 2019-10-21 07:40:03.235327 2019-10-21 07:42:02.222821'B': date_time begin end 2019-10-21 07:39:07.927729 2019-10-21 07:42:24.747350 2019-10-21 07:39:07.927729 2019-10-21 07:39:26.356716 2019-10-21 07:39:26.356716 2019-10-21 07:42:02.574268 2019-10-21 07:40:03.235327 2019-10-21 07:40:03.235327 2019-10-21 07:42:02.222821 數據結果不正確。
1 回答
至尊寶的傳說
TA貢獻1789條經驗 獲得超10個贊
我們來試試這個功能:
def fill_date(df):
mask = df['begin'].isna()
df.loc[mask,'begin'] = df['date_time']
df.loc[~mask, 'end'] = df['date_time']
for df in [A,B]: fill_date(df)
添加回答
舉報
0/150
提交
取消
