Yazımı okumak için zaman ayırdığınız için teşekkür ederiz.Pandaların bir araya getirilmesi dataframes bazı verileri çoğaltır
Python pandalarını kullanıyorum ve bir dizi CSV ve TSV dosyasından bilgileri birleştiriyorum. Uyguladığımda 2. birleştirme verileri sonuçta elde edilen veri çerçevesinde çoğaltılır. Varsayalım, birleştirme çağrısı ile temel bir şey eksik ama bunu anlayamadım.
Kodu: beklendiği gibi
from pandas import DataFrame, read_csv
import matplotlib.pyplot as plt
import pandas as pd
import sys
import matplotlib
# Enable inline plotting
%matplotlib inline
# read data into dataframes
ticketdata = r'/pathto.csv'
ticketdata = r'/pathto.csv'
userdata = r'/pathto.csv'
shipmentdata = r'/pathto.tsv'
tickets_df = pd.read_csv((ticketdata), usecols=['Id',"Requester",'Created at',"Requester email",
"Requester external id"])
users_df = pd.read_csv((userdata), usecols=['External ID','Printers',"Organization Title"])
shipment_df = pd.read_csv((shipmentdata), delimiter='\t', usecols=['Cust','Printer ID'])
# Clean up tickets_df & shipment_df
# Change "Requester external id" to "External ID" to support the merge
tickets_df.columns = ['Ticket Id',"Requester","External ID","Requester email",'Created at']
shipment_df.columns = ['VAR','Printers']
# Change column order for the sake of readability
tickets_df = tickets_df[['Ticket Id','Requester','Created at',"Requester email","External ID"]]
# Replace NaN in External ID with 0 and merge data
tickets_df.fillna(0, inplace=True)
merge1_df = pd.merge(tickets_df, users_df, on=['External ID'], how='left')
merge1_df = merge1_df[['Ticket Id','Created at',"Organization Title",'Requester',"Requester email","External ID",'Printers']]
merge2_df = pd.merge(merge1_df, shipment_df, on=['Printers'], how='left')
merge1_df (NaN bazı değerler için beklenen) görünüyor:
Ticket Id Created at Organization Title Requester Requester email External ID Printers
0 1 2014-08-21 18:19 NaN dude [email protected] 0 NaN
1 2 2014-09-09 12:04 NaN dude1 [email protected] 0 NaN
2 3 2014-09-09 12:04 NaN dude2 [email protected] 0 NaN
3 4 2014-09-09 12:04 NaN dude3 [email protected] 0 NaN
merge2_df safdilli binlerce içerir:
Ticket Id Created at Organization Title Requester Requester email External ID Printers
0 1 2014-08-21 18:19 NaN dude [email protected] 0 NaN
1 1 2014-08-21 18:19 NaN dude [email protected] 0 NaN
2 1 2014-08-21 18:19 NaN dude [email protected] 0 NaN
3 1 2014-08-21 18:19 NaN dude [email protected] 0 NaN
herhangi bir fikir (ler) merge2_df nasıl berbat ettim?
çözüldüğünü belirtti. Ancak, muhtemelen birleştirme sonrası kopyalarınız varsa, önceden birleştirme anahtarlarınız vardı. – JohnE