繁体   English   中英

如何在 pandas 中找到确切的子字符串?

[英]How to find exact sub-string in pandas?

我试图从主字符串(来自主数据帧)中找到子字符串(从一个数据帧中获取),但我没有得到想要的结果。 以下是文件详细信息和output。

第一个数据框

handleid
49483
51466
83821
94159
105068

我想从主数据框( id列)中搜索49483 结果如下。

id                collection_id     dc_language_iso
dli_ndli/49483    NaN               English
dli_ndli/494830   NaN               Kannada
dli_ndli/494831   NaN               Kannada
dli_ndli/494832   NaN               Kannada 

上面的结果表明我得到了 4983、49830、49831、49832。但我只想要第一行,即dli_ndli/49483 NaN English 我不希望将具有 49830、49831、49832 值的行作为 substring。

我正在使用包含pandas 中可用的功能。

这应该有效:

 newdf[newdf['id'].str.contains('49483$', regex=True)] 

#Out[216]: 
#               id  collection_id dc_language_iso
#0  dli_ndli/49483            NaN         English

假设一切都是字符串......你可以这样做:

main_df[main_df['id'].str.split('/',expand=True)[1] == df1['handleid'][0]]

这里 main_df 是主要的 dataframe,df1 是第一个 dataframe, df1['handleid'][0]'49483' ...您可以根据需要更改代码以对 df1 中的任何/所有值执行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM