3 回答

TA貢獻1827條經驗 獲得超9個贊
您可以使用pd.Index.str.endswitha tuple,后跟布爾索引:
L = ['IDENTIF','RIVER', 'LOCATION', 'ERECTED', 'PURPOSE', 'LENGTH',
'LANES', 'CLEAR-G', 'T-OR-D', 'MATERIAL', 'SPAN', 'REL-L', 'TYPE']
df = pd.DataFrame(columns=L)
cols = df.columns[df.columns.str.endswith(tuple('HNS'))]
Index(['LOCATION', 'LENGTH', 'LANES', 'SPAN'], dtype='object')
該功能模仿 Python 的內置str.endswith,它允許您提供一個tuple以匹配多個項目作為替代條件。

TA貢獻1801條經驗 獲得超8個贊
[col for col in df.columns if col[-1] in ['N', 'H', 'S']]
如果我沒記錯的話,columns
數據框的屬性不是一個系列,所以你不能這樣對待它。這是一個清單。
澄清一下,這些列在技術上不是列表。它們是一種特殊類型的熊貓索引的一些變體。但是對于 99% 的意圖和目的,它們可以被視為列表。我想澄清的一點是它們是not
系列,因此沒有系列方法。

TA貢獻1835條經驗 獲得超7個贊
df_serial = df_copy.filter(regex = '(?:H|N|S)$' , axis=1)
print(df_serial)
使用正則表達式我們可以做到
添加回答
舉報