Dataframe birleştirme

Selamlar,

import yfinance as yf
import datetime
import pandas as pd
df = yf.download('ACSEL.IS', start=gecen_zaman, end=tarih)

Kodundan gelen aşagıdaki dataframe var. (uzamasın diye tüm kodu girmedim ama bugünden geriye dönük 365 günlük zaman aralığında oluşturuyor.)

                 Open       High        Low      Close  Adj Close  Volume
Date                                                                     
2021-08-02  16.350000  16.799999  16.280001  16.459999  16.326908  289454
2021-08-03  16.459999  17.120001  16.400000  16.750000  16.614563  345682
2021-08-04  16.750000  17.139999  16.549999  16.900000  16.853909  240437
2021-08-05  16.850000  16.950001  16.420000  16.799999  16.754181  217467
2021-08-06  16.830000  17.250000  16.700001  16.840000  16.794073  329754
...               ...        ...        ...        ...        ...     ...
2022-07-25  48.720001  50.400002  48.720001  49.400002  49.400002  307575
2022-07-26  49.500000  49.639999  47.060001  48.360001  48.360001  220957
2022-07-27  48.360001  48.540001  47.500000  47.619999  47.619999  144641
2022-07-28  47.619999  50.250000  47.299999  48.860001  48.860001  320290
2022-07-29  49.200001  49.799999  48.020000  48.520000  48.520000  271132

[251 rows x 6 columns]

Yine aynı şekilde

rf = yf.download('TRY=X', start=gecen_zaman, end=tarih)  

koduyla Dolar-TL nin oluşan dataframe’i ise:

                 Open       High        Low      Close  Adj Close  Volume
Date                                                                     
2021-07-30   8.452690   8.480020   8.397800   8.452260   8.452260       0
2021-08-02   8.437300   8.473010   8.338700   8.436680   8.436680       0
2021-08-03   8.347140   8.440810   8.296950   8.349800   8.349800       0
2021-08-04   8.397780   8.487300   8.383100   8.401200   8.401200       0
2021-08-05   8.471240   8.567450   8.467640   8.475500   8.475500       0
...               ...        ...        ...        ...        ...     ...
2022-07-26  17.829201  17.873930  17.787189  17.829201  17.829201       0
2022-07-27  17.872000  17.930719  17.802530  17.872000  17.872000       0
2022-07-28  17.867399  17.936590  17.834949  17.867399  17.867399       0
2022-07-29  17.945200  17.953501  17.735121  17.945200  17.945200       0
2022-07-31  17.911400  17.911400  17.911400  17.911400  17.911400       0

[262 rows x 6 columns]

şeklinde.
Yapmak istediğim rf veri çerçevesindeki Close sütununu alıp df veriçerçevesine farklı birisimle eklemek. Normalde satır sayıları aynı olsa bunda bir sorun yok. Boş bir sütun açıp boşluğu rf deki Close ile doldururum. Ama (tatil günleri nedeni ile) iki dataframedeki satır sayısı eşit değil.

Sorum şu iki veri çerçevesinde Date sütunu aynı. rf veri çerçevesindeki Close sütununun Date satırları aynı olmak suretiyle nasıl yeni bir sütun olarak df veri çerçevesine eklerim?

Teşekkürler

Aşağıdaki kodları inceler misin?
Şu kod sorununu çözmüyor mu?

df["yeni"] = rf.Close

Tüm kodlar ve Elde ettiğim sonuç;

import pandas as pd
df = pd.read_excel("frame.ods", sheet_name="df")
rf = pd.read_excel("frame.ods", sheet_name="rf")
df
Date Open High Low Close Adj Close Volume
0 2021-08-02 16.350000 16.799999 16.280001 16.459999 16.326908 289454
1 2021-08-03 16.459999 17.120001 16.400000 16.750000 16.614563 345682
2 2021-08-05 16.850000 16.950001 16.420000 16.799999 16.754181 217467
3 2021-08-06 16.830000 17.250000 16.700001 16.840000 16.794073 329754
4 2022-07-26 49.500000 49.639999 47.060001 48.360001 48.360001 220957
5 2022-07-27 48.360001 48.540001 47.500000 47.619999 47.619999 144641
6 2022-07-29 49.200001 49.799999 48.020000 48.520000 48.520000 271132
rf
Date Open High Low Close Adj Close Volume
0 2021-07-30 8.452690 8.480020 8.397800 8.452260 8.452260 0
1 2021-08-02 8.437300 8.473010 8.338700 8.436680 8.436680 0
2 2021-08-03 8.347140 8.440810 8.296950 8.349800 8.349800 0
3 2021-08-04 8.397780 8.487300 8.383100 8.401200 8.401200 0
4 2021-08-05 8.471240 8.567450 8.467640 8.475500 8.475500 0
5 2022-07-26 17.829201 17.873930 17.787189 17.829201 17.829201 0
6 2022-07-27 17.872000 17.930719 17.802530 17.872000 17.872000 0
7 2022-07-28 17.867399 17.936590 17.834949 17.867399 17.867399 0
8 2022-07-29 17.945200 17.953501 17.735121 17.945200 17.945200 0
9 2022-07-31 17.911400 17.911400 17.911400 17.911400 17.911400 0
df["yeni"] = rf.Close
df
Date Open High Low Close Adj Close Volume yeni
0 2021-08-02 16.350000 16.799999 16.280001 16.459999 16.326908 289454 8.452260
1 2021-08-03 16.459999 17.120001 16.400000 16.750000 16.614563 345682 8.436680
2 2021-08-05 16.850000 16.950001 16.420000 16.799999 16.754181 217467 8.349800
3 2021-08-06 16.830000 17.250000 16.700001 16.840000 16.794073 329754 8.401200
4 2022-07-26 49.500000 49.639999 47.060001 48.360001 48.360001 220957 8.475500
5 2022-07-27 48.360001 48.540001 47.500000 47.619999 47.619999 144641 17.829201
6 2022-07-29 49.200001 49.799999 48.020000 48.520000 48.520000 271132 17.872000

Anladığım Date index olduğu için tam oturuyor o zaman

Anladığım Date index olduğu için tam oturuyor o zaman

Aslında Date Sütunu indeks değil ancak ilk sütun olduğu için mi bilemem, o referans alınmış gibi görünüyor.

Data Frame’leri birleştirmenin farklı yöntemleri var.
Aşağıdaki adreste Pandas hakkında öğrendiklerimi paylaştığım notlar mevcut.
Data Frame’leri birleştirmek için concat(), join() ve merge() fonksiyonları/metotları mevcut.
Bu konuları henüz tam olarak inceleyip siteye ekleyemedim. ancak incelersen bir miktar yararı olur diye düşünüyorum.

https://mhalil.github.io/Python-Pandas.html

https://github.com/mhalil/Pandas_Notlari/blob/main/Duzenleme_Yontemleri.ipynb