亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查pandas中的列是否以a或b結尾

如何檢查pandas中的列是否以a或b結尾

收到一只叮咚 2021-07-09 18:00:27
我需要按最后一個字符過濾列,針對多個字符進行測試。import numpy as npimport pandas as pddf = pd.read_table("F:\\bridges.txt", names = ['IDENTIF','RIVER', 'LOCATION', 'ERECTED', 'PURPOSE', 'LENGTH', 'LANES',  'CLEAR-G', 'T-OR-D', 'MATERIAL', 'SPAN', 'REL-L', 'TYPE']) print(df.columns[df.columns.str.endswith('N' or 'H' or 's') ])輸出:Index(['LOCATION', 'SPAN'], dtype='object')在這里,我沒有得到所有以N,H或結尾的列s。
查看完整描述

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以匹配多個項目作為替代條件。


查看完整回答
反對 回復 2021-07-13
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

[col for col in df.columns if col[-1] in ['N', 'H', 'S']]

如果我沒記錯的話,columns數據框的屬性不是一個系列,所以你不能這樣對待它。這是一個清單。

澄清一下,這些列在技術上不是列表。它們是一種特殊類型的熊貓索引的一些變體。但是對于 99% 的意圖和目的,它們可以被視為列表。我想澄清的一點是它們是not系列,因此沒有系列方法。


查看完整回答
反對 回復 2021-07-13
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

df_serial = df_copy.filter(regex = '(?:H|N|S)$' , axis=1)

print(df_serial)

使用正則表達式我們可以做到


查看完整回答
反對 回復 2021-07-13
  • 3 回答
  • 0 關注
  • 346 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號