Как мне объединить только указанные c данные - PullRequest
0 голосов
/ 13 июля 2020

Я читаю два файла csv , и мне нравится переносить только столбец 'level' из второго csv в первый файл csv .

Первый файл CSV:

 Notation      RFResult   PRIResult   PDResult  Total Result
 AAA             1.23        0           2         3.23
 AAA             3.4         1           0         4.4
 BBB             0.26        1           1.42      2.68
 BBB             0.73        1           1.3       3.03
 CCC             0.30        0           2.73      3.03
 DDD             0.25        1           1.50      2.75

Второй файл CSV: в этом файле более 99 столбцов:

ESLN          Level      High   Low
AAA             1        3.0    -10
AAA             1        3.0    -10
BBB             2        3.5    -30
BBB             2        3.5    -30
CCC             3        2.0     10
CCC             3        2.0     10
CCC             3        2.0     10
DDD             4        5.5     15

Окончательный результат должен выглядеть примерно так:

 Notation Level   RFResult   PRIResult   PDResult  Total Result
 AAA       1       1.23        0           2         3.23
 AAA       1       3.4         1           0         4.4
 BBB       2       0.26        1           1.42      2.68
 BBB       2       0.73        1           1.3       3.03
 CCC       3       0.30        0           2.73      3.03
 DDD       4       0.25        1           1.50      2.75
 ...
 ...

Вот мой код: в настоящее время он передает все из второго CSV в первый CSV в соответствии с обозначениями и уровнем

 import pandas as pd 
 import csv
 
 df = pd.read_csv('\\\First.csv') #reading first CSV File
 df1 = pd.read_csv('\\\Second.csv') #reading second CSV File

 #the following line, Some reason its multiplying the rows from both dataframe dfxdf1 How shoild i fix this?

 df = pd.merge(left=df, right=df1, how='left', left_on='Notation', right= 'ESLN')

 # I have 99+ cols and i dont like to hard coded for each cols for deletion. So how should i only transfer Level columns. That away, I dont have to del each cols. 

 del df['ESLN']
 del df['high']
 del df['Low']
 
 #writing back to NewFile.csv
 df.to_csv('NewFirst.csv', header=True, index=None) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...