【发布时间】:2017-08-21 09:22:31
【问题描述】:
我想对 python 数据框执行自动连接以更新它。 这是情况,我有一个包含三列的第一个df: 入、出和日期。这意味着在特定日期将“Out”项替换为“In”。
import pandas as pd
import numpy as np
from datetime import datetime
data = [[1,10,"2017-01-01"],[2,10,"2017-01-01"],[10,11,"2017-06-01"],[4,14,"2017-04-01"],[5,14,"2017-12-01"]]
label = ["Out","In","Date"]
df = pd.DataFrame(data,columns=label)
df['Date'] = pd.to_datetime(df['Date'])
print(df)
Out In Date
0 1 10 2017-01-01
1 2 10 2017-01-01
2 10 11 2017-06-01
3 4 14 2017-04-01
4 5 14 2017-12-01
例如,这意味着从 2017 年 1 月 1 日起,项目 #1 被项目 #10 替换。 诀窍是,截至 2017 年 6 月,第 10 项也被第 11 项取代。所以 #1 变成 #10 再变成 #11。
现在我想填充一个最终关系表,它给出了某个日期之前的最终关系。
如果日期 = 2017-08-01,我会得到这张表
date = pd.to_datetime("2017-08-01")
data = [[1,11],[2,11],[10,11],[4,14]]
df_final = pd.DataFrame(data,columns=["Out","In"])
print(df_final)
Out In
0 1 11
1 2 11
2 10 11
3 4 14
您知道如何执行这样的自动加入吗?
谢谢,
【问题讨论】:
标签: python pandas join dataframe merge