Python:如果 B 列中的另一个值重复,我如何更改 A 列中的值?

我在一个文件夹中有许多具有相同列的 Excel 文件。我需要浏览每个文件并比较一个文件的“用户编号”列的哪些值与另一个文件相同。然后基于该操作另一个名为“Date”的列。例如:


A2018_02_01 file has:          


User_Number    Date            

18732A         2017-06-22

27192B         2017-08-06    

23872Z         2017-08-06    

82716A         2017-09-18      

77629B         2017-09-12      


A2018_02_02 file has:


User_Number    Date

18732A        2017-06-22

27192B        2017-08-06

54321R         2017-12-11

23872Z        2017-11-04

18732A        2017-06-25

因此,在这种情况下,我希望程序检查用户编号值的匹配项,然后,如果一个文件的日期(链接到该编号)与另一个文件的日期不同,我想将两个日期都更改为最旧的日期。


在这种情况下,我会:


A2018_02_01 file has:          


User_Number    Date            

18732A         2017-06-22      

27192B         2017-08-06      

23872Z         2017-08-06      

82716A         2017-09-18      

77629B         2017-09-12      


A2018_02_02 file has:


User_Number    Date

18732A         2017-06-22

27192B         2017-08-06

54321R         2017-12-11

23872Z         2017-08-06

18732A         2017-06-22

我附加了所有文件:


import os

import glob

import pandas as pd


path=r'C/.../files'

files = os.listdir(path)

df = pd.DataFrame()


for f in glob.glob(path + "/*.xlsx"):

    data = pd.read_excel(f,header=2)

    df=df.append(data)

    df["Date"]=pd.to_datetime(df["Date"], errors='coerce')

该逻辑不像 javascript 逻辑那样工作,所以我不确定如何做条件。我试过:


df_number = df["User Number"]

for number in df[df_number.duplicated()]:

    number.df["Date"]number.df["Date"].min()

和其他方法一样,但没有任何效果。任何帮助表示赞赏。


侃侃尔雅
浏览 195回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python