Python 如何使用日期作为筛选器向数据框添加列
我正在尝试使用日期列将一列从一个pandas数据框添加到另一个pandas数据框,以匹配它们。正如您所看到的,一个数据帧有一个额外的日期,我只想跳过。我想if语句可以解决这个问题,但我得到:Python 如何使用日期作为筛选器向数据框添加列,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试使用日期列将一列从一个pandas数据框添加到另一个pandas数据框,以匹配它们。正如您所看到的,一个数据帧有一个额外的日期,我只想跳过。我想if语句可以解决这个问题,但我得到:ValueError:只能比较标签相同的系列对象 Date Adj Close 0 2020-01-02 9.903333 1 2020-01-03 9.883333 2 2020-01-06 9.883333 3 2020-01-07 9.883333
ValueError:只能比较标签相同的系列对象
Date Adj Close
0 2020-01-02 9.903333
1 2020-01-03 9.883333
2 2020-01-06 9.883333
3 2020-01-07 9.883333
4 2020-01-08 9.913333
.. ... ...
163 2020-08-25 10.133333
164 2020-08-26 10.173333
165 2020-08-27 10.183333
166 2020-08-28 10.206667
167 2020-08-31 10.203334
[168 rows x 2 columns]
Date Capital Stock
0 2020-01-02 7251.39
1 2020-01-03 47200.86
2 2020-01-06 119020.28
3 2020-01-07 11751250.39
4 2020-01-08 4790267.25
.. ... ...
162 2020-08-25 6348.29
163 2020-08-26 -11870.05
164 2020-08-27 73210.22
165 2020-08-28 120581.32
166 2020-08-31 134085.86
[167 rows x 2 columns]
这是我得到的
if dshares_df['Date'] == price3['Date']:
dshares_df['close'] = price3['Adj Close']
对于这种情况,您希望合并两个数据帧 尝试:
请参阅文档:您可以在日期进行左合并。
merged_df = dshares_df.merge(price3, on='Date')
# To filter out the extra row
merged_df = merged_df.dropna()