【问题标题】:numpy where: add value wherenumpy where:在哪里添加值
【发布时间】:2019-07-17 00:26:13
【问题描述】:

我有这个数据框:

           ticker                   value short
0  APPL US Equity    Quarterly and Annual      
1  TTMT IN Equity    Quarterly and Annual      
2   BUD US Equity  Semi-Annual and Annual      
3    PS US Equity                  Annual      

我想要这个:

           ticker                   value short
0  APPL US Equity    Quarterly and Annual      
1  TTMT IN Equity    Quarterly and Annual      
2   BUD US Equity  Semi-Annual and Annual      
3    PS US Equity                  Annual  A    

这是我的尝试:

dfx['short'] = dfx[np.where(dfx['value'].strip() == 'Annual','A'
                                    ,dfx['short'])]

这行得通:

dfx['short'] = np.where(dfx['value'] == 'Annual','A',dfx['short'])

【问题讨论】:

标签: python python-3.x


【解决方案1】:

您可以使用 .loc 设置列中的部分值:

mask = dfx['value'].strip() == 'Annual'
dfx.loc[mask, 'short'] = 'A'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多