如何在 pandas 中找到确切的子字符串?
How to find exact sub-string in pandas?
我试图从主字符串(来自主数据帧)中找到子字符串(来自一个数据帧),但我没有得到想要的结果。以下是文件详细信息和输出。
第一个数据框
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 值的行作为子字符串。
我正在使用 包含 pandas 中可用的函数 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 是主数据帧,df1 是第一个数据帧,df1['handleid'][0]
是 '49483'
...您可以根据需要更改代码以在 [=17 上执行=] df1 中的值
我试图从主字符串(来自主数据帧)中找到子字符串(来自一个数据帧),但我没有得到想要的结果。以下是文件详细信息和输出。
第一个数据框
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 值的行作为子字符串。
我正在使用 包含 pandas 中可用的函数 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 是主数据帧,df1 是第一个数据帧,df1['handleid'][0]
是 '49483'
...您可以根据需要更改代码以在 [=17 上执行=] df1 中的值