如何解决如何使用python将数据框中的值从一列更改为另一列
1-这是我的数据框
Date Open Buy_Entry Sell_Entry
2015-08-31 49.419998 np.nan np.nan
2015-09-01 48.110001 np.nan np.nan
2015-09-02 48.660000 np.nan np.nan
2015-09-03 49.840000 np.nan np.nan
2015-09-04 48.810001 np.nan np.nan
... ... ... ...
2020-09-14 17.940001 np.nan np.nan
2020-09-15 17.200001 Buy Entry np.nan
2020-09-16 16.100000 Buy Entry np.nan
2020-09-17 15.800000 np.nan np.nan
2020-09-18 15.960000 np.nan np.nan
1273 rows × 3 columns
2-现在,我需要转换成这样的东西:
Date Open Buy_Entry Sell_Entry
2015-08-31 49.419998 np.nan np.nan
2015-09-01 48.110001 np.nan np.nan
2015-09-02 48.660000 np.nan np.nan
2015-09-03 49.840000 np.nan np.nan
2015-09-04 48.810001 np.nan np.nan
... ... ... ...
2020-09-14 17.940001 np.nan np.nan
2020-09-15 17.200001 17.200001 np.nan
2020-09-16 16.100000 16.100000 np.nan
2020-09-17 15.800000 np.nan np.nan
2020-09-18 15.960000 np.nan np.nan
1273 rows × 3 columns
我将np.nan值替换为0没问题,但是必须替换那些“购买条目” 恰好在该点(索引)具有“打开”值
Anny建议?
感谢您的帮助。问候!
解决方法
结合使用df.loc
和系列字符串搜索:
df["Buy_Entry"] = df.loc[df["Buy_Entry"].str.contains("Buy Entry"),"Open"]
或
df.loc[~df["Buy_Entry"].isna(),"Buy_Entry"] = df["Open"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。