为什么这个Pandas系列的函数不返回任何值?

时间:2019-05-27 02:43:36

标签: python pandas dataframe series

我正在Python中使用Pandas库,并且在过滤数据框内的特定系列数据时难以获得预期结果:

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”开头的值。

2 个答案:

答案 0 :(得分:2)

您应该这样做:

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

答案 1 :(得分:1)

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

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