0

I have two csv files. One is query file, the other is key file.

This is the query file:

Date       Copies Client Partner
07/10/2022 8      AAA    IM
07/10/2022 3      BBB    KZA
08/10/2022 10     AAA    KZA
09/10/2022 6      BBB    IM

It shows the copies made for each client and the partner working for it.

I need to add two columns Client ID and Project ID. Those details are in another csv file i.e. key. I want pandas to look for the combination of Client + Partner and add in the right Project ID and Client ID in the next columns.

Note that the Client ID stays the same regardless of which partner is working on it, however the Project ID changes based on the combination of Client and Partner.

This is the key file:

Partner Client Project ID Client ID
IM      AAA    PRJ-01     CC002
IM      BBB    PRJ-09     CC008
IM      CCC    PRJ-11     CC006
KZA     AAA    PRJ-07     CC002
KZA     BBB    PRJ-04     CC008
MIA     AAA    PRJ-17     CC002
MIA     BBB    PRJ-14     CC008

I was thinking of using the np.select but the combination of clients and partners will take the inputs to several thousands:

 cond = [
        (df['Client'] == 'AAA'),
        (df['client'] == 'BBB'),
        ]
    
    choices = ['CC002','CC008']
    
    df['Client ID'] = np.select(cond, choices)

 cond2 = [
        (df['Client'] == 'AAA') & (df['Partner'] == 'IM'),
        (df['Client'] == 'AAA') & (df['Partner'] == 'KZA'),
        (df['Client'] == 'BBB') & (df['Partner'] == 'IM'),
        (df['Client'] == 'BBB') & (df['Partner'] == 'KZA'),
        ]
    
    choices2 = ['PRJ-01','PRJ-07','PRJ-09','PRJ-04']
    
    df['Project ID'] = np.select(cond2, choices2)

This will take me ages to put in all the date and hence I am looking for a solution that can read the csv files and automatically populate the date based on the combinations.

Little help will be appreciated. Thanks!

Johar Inam Unnar
  • 135
  • 3
  • 14

0 Answers0