所以我想合并两个数据框,以便将占位符的列添加到df1的匹配行中。这是两个数据框。
占位符如下:
symbol open high ... previous close change change percent
0 MDCO 31.7900 32.7000 ... 31.8600 0.5800 1.8205%
df1看起来像:
symbol ... phase
0 MDCO ... Phase 2
1 FTSV ... Phase 1/2
2 FTSV ... Phase 1
3 FTSV ... Phase 1
4 NVO ... Phase 2
5 PFE ... PDUFA priority review
这就是我对两个数据库所做的一切。以任何方式影响结果的情况。
placeholder = pd.DataFrame(List_Filled)_With_Dictionaries)
placeholder.rename(columns={"01. symbol": "symbol"},inplace=True)
placeholder['symbol'] = placeholder['symbol'].astype(str)
print(placeholder)
Result = pd.concat([Df1,placeholder],axis=1)
Result.set_index('symbol',inplace=True)
这是我当前代码的结果:
Unnamed: 0 ... 10. change percent
symbol ...
(MDCO, MDCO) 0 ... 1.8205%
(FTSV, nan) 1 ... NaN
(FTSV, nan) 2 ... NaN
(FTSV, nan) 3 ... NaN
(NVO, nan) 4 ... NaN
我希望它看起来像这样
symbol ... phase ... Change Percent
0 MDCO ... Phase 2 ... 5%
1 FTSV ... Phase 1/2... 2%
2 FTSV ... Phase 1 ... 1%
3 FTSV ... Phase 1 ... 4%
4 NVO ... Phase 2 ... 2%
5 PFE ... PDUFA priority review ... 1%
有人告诉我我的描述没有任何意义。因此,如果您有任何疑问,请提出,因为我不知道该如何进一步澄清。我希望没有几个(nan)
,因为我需要多次运行此代码以及unnamed
列。
编辑:问题已解决。这是最终解决方案的外观
drug ... 10. change percent
symbol ...
MDCO Inclisiran - ORION 3 ... 1.8205%
FTSV 5F9 + rituximab ... NaN
FTSV 5F9 + Azacitidine ... NaN
FTSV 5F9 ... NaN
答案 0 :(得分:0)
假设匹配行表示具有相同符号值的行,您想要的不是concat
而是merge
或join
。这应该可以工作:
Result = Df1.merge(placeholder, on='symbol', out='left')