簡體   English   中英

根據日期,使用來自另一個 dataframe 的值在 pandas dataframe 中創建一個新列

[英]Create a new column in pandas dataframe with values from another dataframe, based on date

我有 2 個數據框。

首先 dataframe 包含 PLN 數據:

         date  polarity  subjectivity
0  2022-03-25  0.118771      0.517508
1  2022-03-28  0.136532      0.555640
2  2022-04-04  0.447222      0.419444
3  2022-04-11 -0.022222      0.397222
4  2022-04-18 -0.098333      0.526111
5  2022-04-20 -0.077778      0.644444
6  2022-04-22  0.187500      0.437500
7  2022-04-25  0.350000      0.375000

第二個 dataframe 包含股票數據:

          open        high         low       close    adjclose    volume        date
0   277.559998  282.500000  272.059998  282.190002  282.190002  42549400  2022-03-28
1   286.950012  289.459991  279.799988  286.559998  286.559998  48898400  2022-03-29
2   283.040009  284.959991  275.029999  276.899994  276.899994  46348700  2022-03-30
3   277.820007  282.480011  272.700012  272.859985  272.859985  52344000  2022-03-31
4   273.750000  274.959991  262.670013  267.119995  267.119995  51653400  2022-04-01
5   267.279999  275.579987  266.130005  273.600006  273.600006  39712000  2022-04-04
6   272.540009  273.190002  258.200012  259.309998  259.309998  43661500  2022-04-05
7   249.339996  253.000000  240.029999  244.070007  244.070007  70383300  2022-04-06
8   244.410004  247.220001  234.779999  242.080002  242.080002  55799200  2022-04-07
9   239.169998  239.229996  230.619995  231.190002  231.190002  52409100  2022-04-08
10  222.139999  223.199997  216.600006  219.169998  219.169998  57520700  2022-04-11

我想要的是以最有效的方式基於日期字段在第二個 dataframe(具有股票數據的那個)中創建“極性”和“主觀性”列。

編輯添加所需的 output:

          open        high         low       close    adjclose    volume        date    polarity    subjetivity
0   277.559998  282.500000  272.059998  282.190002  282.190002  42549400  2022-03-28    0.136532       0.555640
1   286.950012  289.459991  279.799988  286.559998  286.559998  48898400  2022-03-29         NaN            NaN
2   283.040009  284.959991  275.029999  276.899994  276.899994  46348700  2022-03-30         NaN            NaN
3   277.820007  282.480011  272.700012  272.859985  272.859985  52344000  2022-03-31         NaN            NaN
4   273.750000  274.959991  262.670013  267.119995  267.119995  51653400  2022-04-01         NaN            NaN
5   267.279999  275.579987  266.130005  273.600006  273.600006  39712000  2022-04-04    0.447222       0.419444
6   272.540009  273.190002  258.200012  259.309998  259.309998  43661500  2022-04-05         NaN            NaN
7   249.339996  253.000000  240.029999  244.070007  244.070007  70383300  2022-04-06         NaN            NaN
8   244.410004  247.220001  234.779999  242.080002  242.080002  55799200  2022-04-07         NaN            NaN
9   239.169998  239.229996  230.619995  231.190002  231.190002  52409100  2022-04-08         NaN            NaN
10  222.139999  223.199997  216.600006  219.169998  219.169998  57520700  2022-04-11   -0.022222       0.397222
df2.merge(df1, how = 'left', on = 'date')

          open        high         low  ...        date  polarity  subjectivity
0   277.559998  282.500000  272.059998  ...  2022-03-28  0.136532      0.555640
1   286.950012  289.459991  279.799988  ...  2022-03-29       NaN           NaN
2   283.040009  284.959991  275.029999  ...  2022-03-30       NaN           NaN
3   277.820007  282.480011  272.700012  ...  2022-03-31       NaN           NaN
4   273.750000  274.959991  262.670013  ...  2022-04-01       NaN           NaN
5   267.279999  275.579987  266.130005  ...  2022-04-04  0.447222      0.419444
6   272.540009  273.190002  258.200012  ...  2022-04-05       NaN           NaN
7   249.339996  253.000000  240.029999  ...  2022-04-06       NaN           NaN
8   244.410004  247.220001  234.779999  ...  2022-04-07       NaN           NaN
9   239.169998  239.229996  230.619995  ...  2022-04-08       NaN           NaN
10  222.139999  223.199997  216.600006  ...  2022-04-11 -0.022222      0.397222

嘗試這個

df2.merge(df, on='date', how='left')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM