【问题标题】:Why does this Pandas series where function not return any values?为什么这个函数不返回任何值的 Pandas 系列?
【发布时间】:2019-05-27 02:43:36
【问题描述】:

我在 Python 中使用 Pandas 库,但在通过过滤 Dataframe 中的特定系列获得预期结果时遇到了一些问题:

csdf[0].unique()

返回:

array(['GWA_BTC', 'GWA_ETH', 'GWA_LTC', 'GWA_XLM', 'GWA_XRP',
       'MWA_BTC_CNY', 'MWA_BTC_EUR', 'MWA_BTC_GBP', 'MWA_BTC_JPY',
       'MWA_BTC_USD', 'MWA_ETH_CNY', 'MWA_ETH_EUR', 'MWA_ETH_GBP',
       'MWA_ETH_JPY', 'MWA_ETH_USD', 'MWA_LTC_CNY', 'MWA_LTC_EUR',
       'MWA_LTC_GBP', 'MWA_LTC_JPY', 'MWA_LTC_USD', 'MWA_XLM_CNY',
       'MWA_XLM_EUR', 'MWA_XLM_USD', 'MWA_XRP_CNY', 'MWA_XRP_EUR',
       'MWA_XRP_GBP', 'MWA_XRP_JPY', 'MWA_XRP_USD'], dtype=object)

但是当我这样做时:

csdf[0].where(lambda x: x[0:3] == 'GWA').dropna()

我明白了:

Series([], Name: 0, dtype: object)

我正在尝试获取以“GWA”开头的系列中的所有值。

【问题讨论】:

    标签: python pandas dataframe series


    【解决方案1】:

    你应该这样做:

    csdf[0].where(csdf[0].str[0:3] == 'GWA').dropna()
    

    【讨论】:

      【解决方案2】:

      您可以尝试在系列中使用startswith 功能。

      filtered = csdf[csdf[0].str.strartswith("GWA", na=False)]
      
      

      【讨论】:

      • csdf[~csdf[0].str.strartswith("GWA", na=False)]
      猜你喜欢
      • 2020-09-28
      • 1970-01-01
      • 2023-02-07
      • 2021-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多