我每个人,我很新的熊猫数据集,但是,所以我不会附加代码,如果不是伪代码,因为我不知道如何实现这个。
我有两个dataframe,一个有一个作业号和一个与之相关的日期(我们称之为DF2),另一个有一堆不同的数据(这将是DF1)。
我想比较DF1和DF2,如果DF1[jobNo. cn]中的字符串。[jobNo.]等于DF2中的字符串。get DF1[日期]== DF2[日期].
任何想法?我真的需要你的帮助。
感谢如果您试图检查jobNo匹配时日期是否匹配,我的方法是合并jobNo上的两个数据帧并比较日期。
import pandas as pd
df1 = pd.DataFrame({'jobNo': [0, 3, 1], 'date': [9, 8, 3]})
df2 = pd.DataFrame({'jobNo': [0, 3, 2], 'date': [9, 5, 3]})
df3 = df2.merge(df1, on=["jobNo"], suffixes=('_2', '_1'))
df3["date_match"] = df3.apply(lambda x: x["date_2"] == x["date_1"], axis=1)
print(df3)
jobNo date_2 date_1 date_match
0 0 9 9 True
1 3 5 8 False
如果您所说的df1["date"]==df2["date"]是指如果df1中有匹配,我们将更改日期那么这段代码将查找匹配并使用apply
替换日期import pandas as pd
df1 = pd.DataFrame({'jobNo': [0, 3, 1], 'date': [9, 8, 3]})
df2 = pd.DataFrame({'jobNo': [0, 3, 2], 'date': [7, 5, 4]})
df1['new_date'] = df1.apply(lambda x: (x['date'] if x['jobNo']
not in df2['jobNo'
].values else df2[df2['jobNo'] == x['jobNo'
]]['date'].values[0]), axis=1)
print(df1)
jobNo date new_date
0 0 9 7
1 3 8 5
2 1 3 3