【发布时间】:2020-01-16 00:07:28
【问题描述】:
第一个数据框如下所示:
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
我需要使用“包含”条件在 col1(df2) 中搜索 col1(df1)。 如果它匹配/具有字符串,则从 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 并选择前 6d 位等。
-
它是一个拥有 20k 条记录的庞大数据框
-
“这不是一个巨大的数据框”。斜线 sep 行总共有多少个唯一的小区号? -
df3 = pd.DataFrame(columns=['small_area','OSIED','geometry','Median_BER']) 用于索引,sf.iterrows() 中的行:df3 = berdata[berdata ['small_area'].str.contains("25700")==True] #print ("Helloworld") df3.append(row['OSIED']) df3.append(row['geometry']) print (df3 ) 休息
-
我可以从上面的代码中获取区号和中位数_BER..如何获取 geonetry 和 oseid col 值