我正在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”开头的值。
答案 0 :(得分:2)
您应该这样做:
csdf[0].where(csdf[0].str[0:3] == 'GWA').dropna()
答案 1 :(得分:1)
您可以尝试在该系列中使用startswith功能。
filtered = csdf[csdf[0].str.strartswith("GWA", na=False)]