首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用来自另一个Dataframe的值选择dataframe

使用来自另一个Dataframe的值选择dataframe
EN

Stack Overflow用户
提问于 2022-09-13 13:43:07
回答 1查看 21关注 0票数 0

我有这个数据:

代码语言:javascript
复制
studyarea_pcdn 



    POSTCODE    Number of meters
0   NE4 9UP     41
1   NE4 9UN     32
2   NE4 9UL     29
3   NE4 9EN     27
4   NE4 9DY     25
5   NE4 9ED     22
6   NE4 9EL     18
7   NE4 9EE     13
8   NE4 9UJ     11
9   NE4 9DX     6
10  NE4 9EA     4

我还有另一个:

代码语言:javascript
复制
sa_gas_pcd_2018[['POSTCODE', 'Number of meters']] 

        POSTCODE    Number of meters
628318  NE4 9UP     41
628315  NE4 9UJ     36
628317  NE4 9UN     32
628199  NE4 9DY     29
628201  NE4 9EE     28
628316  NE4 9UL     28
628205  NE4 9EN     26
628200  NE4 9ED     20
628198  NE4 9DX     19
628204  NE4 9EL     17

我想从sa_gas_pcd_2018中选择那些具有与studyarea_pcdn‘邮政编码’相匹配的邮政编码并且与studyarea_pcdn'Number of meters‘相比有米+- 2的行

正确的答案应该是:

代码语言:javascript
复制
        POSTCODE    Number of meters
628318  NE4 9UP     41
628317  NE4 9UN     32
628316  NE4 9UL     28
628205  NE4 9EN     26
628200  NE4 9ED     20
628204  NE4 9EL     17

我已经尝试了很多事情,但我真的被困住了,因为我不知道该如何界定这个问题。如果有人有任何指点的话,我很高兴。

EN

回答 1

Stack Overflow用户

发布于 2022-09-13 13:56:58

这实际上只是一个内部合并,然后是一个.loc过滤器的绝对值的差异。

代码语言:javascript
复制
df = pd.DataFrame({'POSTCODE': ['NE4 9UP',
  'NE4 9UN',
  'NE4 9UL',
  'NE4 9EN',
  'NE4 9DY',
  'NE4 9ED',
  'NE4 9EL',
  'NE4 9EE',
  'NE4 9UJ',
  'NE4 9DX',
  'NE4 9EA'],
 'Number of meters': [41, 32, 29, 27, 25, 22, 18, 13, 11, 6, 4]})

df2 = pd.DataFrame({'POSTCODE': ['NE4 9UP',
  'NE4 9UJ',
  'NE4 9UN',
  'NE4 9DY',
  'NE4 9EE',
  'NE4 9UL',
  'NE4 9EN',
  'NE4 9ED',
  'NE4 9DX',
  'NE4 9EL'],
 'Number of meters': [41, 36, 32, 29, 28, 28, 26, 20, 19, 17]})

df.rename(columns={'Number of meters':'m'}, inplace=True)

df = df.merge(df2, on='POSTCODE')

df.loc[abs((df['Number of meters']-df['m']))<=2].drop(columns='m')

输出

代码语言:javascript
复制
 POSTCODE  Number of meters
0  NE4 9UP                41
1  NE4 9UN                32
2  NE4 9UL                28
3  NE4 9EN                26
5  NE4 9ED                20
6  NE4 9EL                17
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73704077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档