2016-04-07 21 views
1

Büyük bir pandam DataFrame'im ve bu DataFrame'in ayrı bir alt kümesi hesaplanmış bir değere sahip. DataFrame alt kümesinin değerlerini, diğer değerlerden hiçbirini değiştirmeden daha büyük olana birleştirmek istiyorum.Daha büyük bir pandalar veri kümesini, bir alt kümeden belirli değerlerle birleştirin

df_large: 
index col_1 col_2 col_3 
1  10 15 33 
2  23 16 nan 
3  33 92 34 
4  132 123 nan 
5  32 59 nan 

Ve bir alt kümesi:

df_large: 
index col_1 col_2 col_3 
1  10 15 33 
2  23 16 34 
3  33 92 34 
4  132 123 87 
5  32 59 nan 
: Ben özellikle endeks df_small var sadece df_small.col_3 değerlerle df_large.col_3 değerleri üzerine yazmak çıkan DataFrame istiyorum

df_small: 
index col_1 col_2 col_3 
2  23 16 34 
4  132 123 87 

Birleştirmeyi denedim, ancak bunu nasıl yapılacağından emin değilim. (Birçok arasında)

cevap

2

tek yön bunu yapmak için:

df_large.ix[df_small.index, 'col_3'] = df_small.col_3 

daha hızlı combine_first()

In [408]: %timeit df = df_large.combine_first(df_small) 
100 loops, best of 3: 6.45 ms per loop 

In [409]: %timeit df_large.ix[df_small.index, 'col_3'] = df_small.col_3 
100 loops, best of 3: 2.43 ms per loop 
kıyasla gibi görünüyor
İlgili konular