Buraya bir
DataFrame
veSeries
dizini nasıl birleştireceğiniz konusunda bilgi almak için geldiyseniz , lütfen bu yanıta bakın .OP'nin asıl amacı, başka bir DataFrame'e sütun olarak seri elemanlarının nasıl atanacağını sormaktı . Bunun cevabını bilmekle ilgileniyorsanız, EdChum tarafından kabul edilen cevaba bakın.
Bulabildiğim en iyi şey
df = pd.DataFrame({'a':[1, 2], 'b':[3, 4]}) # see EDIT below
s = pd.Series({'s1':5, 's2':6})
for name in s.index:
df[name] = s[name]
a b s1 s2
0 1 3 5 6
1 2 4 5 6
Daha iyi sözdizimi / daha hızlı yöntem öneren var mı?
Denemelerim:
df.merge(s)
AttributeError: 'Series' object has no attribute 'columns'
ve
df.join(s)
ValueError: Other Series must have a name
DÜZENLE Gönderilen ilk iki yanıt sorumla ilgili bir sorunu vurguladı, bu nedenle lütfen oluşturmak için aşağıdakileri kullanın df
:
df = pd.DataFrame({'a':[np.nan, 2, 3], 'b':[4, 5, 6]}, index=[3, 5, 6])
nihai sonuçla
a b s1 s2
3 NaN 4 5 6
5 2 5 5 6
6 3 6 5 6
df
ve tanımlarını kullanaraks
, bu cevap benim için soruda istenen sonucu değil , boş bir veri çerçevesi döndürüyor . Endekste eşleştirmek istemiyoruz;s
değerleri tüm satırlarına yayınlamak istiyoruzdf
.