Python 在列名中搜索字符串并返回整个列
是否有方法在列名中搜索字符串或子字符串,并提取包含该特定字符串的整个列名 我的数据: 我想在数据框中搜索“total”并提取整个列(本例中的最后一列) 提前谢谢你 你可以试试-Python 在列名中搜索字符串并返回整个列,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,是否有方法在列名中搜索字符串或子字符串,并提取包含该特定字符串的整个列名 我的数据: 我想在数据框中搜索“total”并提取整个列(本例中的最后一列) 提前谢谢你 你可以试试- 如果要在列名中显式搜索诸如Total之类的关键字,请使用以下命令: 对于此虚拟数据: 说明、数量、单位成本(AED)、总成本(AED)、金额(xyz) 字符串1、3、3000、9000、9500 字符串1、3、3000、9000、9500 字符串1、3、3000、9000、9500 字符串1、3、3000、9000、9
如果要在列名中显式搜索诸如
Total
之类的关键字,请使用以下命令:
对于此虚拟数据:
说明、数量、单位成本(AED)、总成本(AED)、金额(xyz)
字符串1、3、3000、9000、9500
字符串1、3、3000、9000、9500
字符串1、3、3000、9000、9500
字符串1、3、3000、9000、9500
字符串1、3、3000、9000、9500
字符串1、3、3000、9000、9500
请尝试以下代码:
将熊猫作为pd导入
进口稀土
df=pd.read\u csv('test.csv'))
打印(df)
col=[如果len(re.findall(r'\b(?:total | amount)\b',name.lower())!=0,则df.columns中名称的名称为]
如果连(col)=0:
打印(df.loc[:,col])
是否要在列名中搜索?提示:df.columns
返回列表中的列df@MykolaZotko对但是可以有多个关键词,如“金额、总额、余额”等。这能回答你的问题吗?假设只有一个列名中有“Total”一词!这段代码寻找一个精确的匹配,而我想让代码在上面的DataFrame中甚至对“total”这样的子字符串也能工作。我做了一些编辑,看看这是否达到了目的!使名称
小写,并搜索总计
它会抛出一个索引器
,因为.iloc
需要数字索引,但它得到了总计
。我已经在上面的评论中解释了我的整个问题@是的,很好。非常感谢你@anurag
>>> total_mask = df['Description'].str.contains('total|Total')
>>> total_mask
0 True
1 False
2 True
Name: Description, dtype: bool
>>> df.loc[total_mask,:]
Description Total Cost (AED)
0 Compensation Total 100.0
2 Total Amount 20.0