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值