本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:幽默盒子,一个专注于搞笑,分享快乐的公众号

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Pandas - 返回一列中具有相同值的所有行和另一列中的微小差异

发布于2021-07-23 03:13     阅读(1003)     评论(0)     点赞(3)     收藏(2)



我有一些数据帧:

df = pd.DataFrame({'fruit':['apple', 'apple', 'apple', 'pear', 'pear', 'pear', 'mango', 'mango', 'mango', 'peach', 'peach', 'peach', 'plum', 'plum', 'plum'],  
                   'region':[5,5,5,7,7,7,2,2,2,2,2,2,2,2,2],
                   'location':[75000,75000,75000,250,250,250,48897467,48897467,48897467,48897629,48897629,48897629,500000000,500000000,500000000], 
                   'unique':np.random.randint(100, size=15)})


    fruit   region  location    unique
0   apple   5   75000   51
1   apple   5   75000   1
2   apple   5   75000   44
3   pear    7   250 36
4   pear    7   250 86
5   pear    7   250 99
6   mango   2   48897467    40
7   mango   2   48897467    12
8   mango   2   48897467    33
9   peach   2   48897629    23
10  peach   2   48897629    85
11  peach   2   48897629    65
12  plum    2   500000000   46
13  plum    2   500000000   87
14  plum    2   500000000   42

我想选择列中'fruit'具有相同值且'region'列中差异小于 1000 的所有不同行'location'

所以,在这个例子中,我想返回:

fruit   region  location    unique
6   mango   2   48897467    40
7   mango   2   48897467    12
8   mango   2   48897467    33
9   peach   2   48897629    23
10  peach   2   48897629    85
11  peach   2   48897629    65

我试过这样的事情:

df.groupby('region')['location'].diff()

但这并不是我想要做的。


解决方案


你可以这样做

a = df.groupby('region')['location'].transform(lambda x: x.max()-x.min())
b = df.groupby('region')['fruit'].transform('nunique')
df.loc[(a<=1000) & (b>1)]

输出

fruit   region  location    unique
6   mango   2   9000    7
7   mango   2   9000    98
8   mango   2   9000    92
9   peach   2   8800    34
10  peach   2   8800    17
11  peach   2   8800    15





所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1003959/2c770eacb504ba7fa1a7/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)