[英]Python Pandas Dataframe drop columns if string contains special character
[英]Python / Pandas - Drop columns that start with string
我有這樣的數據幀
id 2013 Profits 2001 Revenues 1999 Assets...
31 xxxx xxxx xxxx
...
我想刪除不以'201'開頭的列(我只想保留數據2010和轉發)。
我怎樣才能做到這一點?
df.filter(like='201')
2013 Profits
id
31 xxxx
正如@StevenLaan指出的那樣,使用like
會包含一些列,這些列在列名中的其他位置具有模式字符串。 我們可以確保只使用regex
獲取以模式字符串開頭的列。
df.filter(regex='^201')
2013 Profits
id
31 xxxx
這將確保僅保留以201開頭的列。
df[[c for c in df.columns if c.startswith('201')]]
同樣可以實現
df.filter(regex='^201')
另一種方式:
In [16]: df.loc[:, df.columns.str.contains('^201')]
Out[16]:
2013 Profits
0 xxxx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.