Açıklayamayacağım pd.merge kullanarak iki farklı birleştirme davranışı alıyorum ve birilerinin bir borç vermesini umuyorum. dataframes oluşturmaPandalar pd.merge, gerçek değerinden ziyade NaN ile sonuçlanır
Örnek Bir
elle davranışı birleştirme sağ sonuçlanır. Yani, Satıcı sütununun doğru değeri vardır.
df1 = DataFrame([[1,'Dude','2016-03-07 16:21', '1e2345a6-ae7e-89e0-123d-b4567fcc8fb9']],columns=['ID','Name','Created at', 'Unit'])
df2 = DataFrame([['SellTEST','1e2345a6-ae7e-89e0-123d-b4567fcc8fb9']], columns=['Seller', 'Unit'])
merge_df = pd.merge(df1, df2, on=['Unit'],how='left')
print (merge_df)
Sonuçlar: Ben .csv dosyalarından aynı verilerde okursanız
ID Name Created at Unit Seller
0 1 Dude 2016-03-07 16:21 1e2345a6-ae7e-89e0-123d-b4567fcc8fb9 SellTEST
Ben birleştirme ile yanlış sonuçlar alırsınız.
Örnek İki
ticketdata = r'tickets3.csv'
userdata = r'users3.csv'
df1 = pd.read_csv(ticketdata)
df2 = pd.read_csv(userdata)
merge_df = pd.merge(df1, df2, on=['Unit'],how='left')
print (merge_df)
Sonuçlar: Ben dtypes her iki veri setleri ile aynı olduğunu teyit ettik
ID Name Created at Unit Seller
0 1 Dude 2016-03-07 16:21 1e2345a6-ae7e-89e0-123d-b4567fcc8fb9 NaN
Satıcı sütununda şimdi NaN içerir. Her şey int64 olan ID haricinde bir nesnedir.
Neyi eksik? Örnek One
'df1' ve' df2' 'den read_csv' sonra verileri ekleyebilir misiniz? –