簡體   English   中英

數據框:刪除以特定字符串結尾的行?

[英]Dataframes: Dropping rows ending in an specific string?

我有以下 dataframe:

nutsgdp
Out[77]: 
              2010       2011       2012  ...       2016       2017       2018
NUTS_ID                                   ...                                 
AT       295896.60  310128.70  318653.00  ...  357299.70  370295.80  385711.90
AT1      131114.27  136271.77  139149.68  ...  155609.11  159879.39  166443.24
AT11       6698.37    7012.58    7365.43  ...    8353.78    8771.65    9005.49
AT111       738.53     784.29     791.16  ...     923.96     996.55     996.55
AT112      3843.03    4028.02    4313.17  ...    4923.69    5165.46    5165.46
           ...        ...        ...  ...        ...        ...        ...
UKN15      3762.30    3604.13    4228.35  ...    5391.50    5089.14    4203.36
UKN16      2169.86    2162.22    2452.28  ...    2801.88    2801.14    2730.28
UKZ       30761.26   33592.50   32090.74  ...   13343.86   12887.29   20225.66
UKZZ      30761.26   33592.50   32090.74  ...   13343.86   12887.29   20225.66
UKZZZ     30761.26   33592.50   32090.74  ...   13343.86   12887.29   20225.66

[1794 rows x 9 columns]

我想刪除索引長於 2 個字符並以“Z”結尾的所有行。 這意味着,例如,刪除'UKZ''UKZZ''UKZZZ' ,但保留'CZ' 最好的方法是什么? 在此先感謝您的幫助。

使用Series.str.contains並通過~反轉掩碼並通過boolean indexing過濾:

df = df[~df.index.str.contains('(.){2,}Z$')]

或者使用Series.str.endswithSeries.str.len

df = df[~df.index.str.endswith('Z') | (df.index.str.len() <= 2)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM