如何在Pandas中找到确切的子串?

2024-09-29 00:13:43 发布

您现在位置:Python中文网/ 问答频道 /正文

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

第一个数据帧

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 

上面的结果显示我得到了4983498304983149832,但是我只想要第一行,即dli_ndli/49483 NaN English。我不想将值为49830、49831、49832的行作为子字符串

我正在使用熊猫提供的包含功能


Tags: 文件数据字符串idenglish详细信息isonan
2条回答

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

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

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

这应该起作用:

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

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

相关问题 更多 >