Python 使用contains条件集成两个diff数据帧并创建一个新的数据帧

Python 使用contains条件集成两个diff数据帧并创建一个新的数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,第一个数据帧如下所示: OSIED geometry 257005 POLYGON ((311852.712 178933.993, 312106.023 17... 017049 POLYGON ((272943.107 137755.159, 272647.627 13... 017032 POLYGON ((276637.425 146141.397, 276601.509 14... small_area

第一个数据帧如下所示:

OSIED  geometry
257005 POLYGON ((311852.712 178933.993, 312106.023 17...
017049 POLYGON ((272943.107 137755.159, 272647.627 13...
017032 POLYGON ((276637.425 146141.397, 276601.509 14...
small_area                                                   Median_BER
217099001/217112002/217112003/2570052005/217112...            212.9
047041005/047041001/2570051004/047041002/047041...            271.3
157041002/157041004/157041003/157041001/157129...            222.5
第二个数据帧如下所示:

OSIED  geometry
257005 POLYGON ((311852.712 178933.993, 312106.023 17...
017049 POLYGON ((272943.107 137755.159, 272647.627 13...
017032 POLYGON ((276637.425 146141.397, 276601.509 14...
small_area                                                   Median_BER
217099001/217112002/217112003/2570052005/217112...            212.9
047041005/047041001/2570051004/047041002/047041...            271.3
157041002/157041004/157041003/157041001/157129...            222.5
我需要使用contains条件在col1df2中搜索col1df1。 如果匹配/具有字符串,则从df1和df2获取相应的值

我尝试了合并、df.get和str.contains。 str.contains工作,但我无法获取其他记录

输出应如下所示:

OSIED  geometry                                            small_area                                     Median_BER
257005 POLYGON ((311852.712 178933.993, 312106.023 17...  217099001/217112002/217112003/2570052005/217112
212.9
017049 POLYGON ((272943.107 137755.159, 272647.627 13...  047041005/047041001/2570051004/047041002/047041
222.5

通过使用一些代码,我能够生成以下代码

small_area_oseid_df = pd.DataFrame(
   [
     {'OSIED': oseid[:6], 'median_ber': row['median_ber']} 
     for row in df.to_dict(orient='records') 
     for oseid in row['small_area'].split('/')
    ] 
)

然后可以将此表与OSIED键上的第一个表联接。这取决于拆分中每行的元素数量。因为这将分解您将创建的小区域的维度。\u oseid\u df。

数据帧有多大?如果相对较小,则可以创建主键来连接两个表-首先通过分割小的_区域并选择前6d数字等。这是一个包含20k条记录的巨大数据帧,而不是一个巨大的数据帧。斜杠sep行中总共有多少个唯一的小区域代码?df3=pd.DataFramecolumns=['small_area','OSIED','geometry','Medium_BER']索引,sf.ItErrorws中的行:df3=berdata[berdata['small_area'].str.contains25700==True]打印Helloworld df3.appendrow['OSIED']df3.appendrow['geometry']打印df3 break我可以从上面的代码中获取区号和中位数。如何获取geonetry和oseid col值