首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将范围应用于装箱标签python

将范围应用于装箱标签python
EN

Stack Overflow用户
提问于 2020-12-09 12:04:05
回答 1查看 50关注 0票数 0

我有一张垃圾箱桌。其中val列是bin值,flag是我要应用pd.cut的DataFrame的列名。

bin表

代码语言:javascript
复制
import re, io
import pandas as pd
data_str = '''
val    flag
1      a
3      a
5      a
7      a
9      a
250    b
270    b
290    b
320    b
'''.strip()
data_str = re.sub(' +', ',', data_str)
bin_table = pd.read_csv(io.StringIO(data_str), sep=',')
print(bin_table)

       val flag
    0    1    a
    1    3    a
    2    5    a
    3    7    a
    4    9    a
    5  250    b
    6  270    b
    7  290    b
    8  320    b

源站DataFrame

df = pd.DataFrame(zip([2,4,8],[260,300,301]), columns=['a', 'b'])

代码语言:javascript
复制
   a    b
0  2  260
1  4  300
2  8  301

我想要的结果是:

代码语言:javascript
复制
a  a_bin      b    b_bin
2  (1 - 3)    260  (250 - 270)
4  (3 - 5)    300  (290 - 310)
8  (7 - 9)    301  (290 - 310)
EN

回答 1

Stack Overflow用户

发布于 2020-12-09 12:56:26

这样如何:

代码语言:javascript
复制
df.groupby('flag')['val'].value_counts(bins=3)

输出:

代码语言:javascript
复制
flag                    
a     (6.333, 9.0]          2
      (0.991, 3.667]        2
      (3.667, 6.333]        1
b     (249.929, 273.333]    2
      (296.667, 320.0]      1
      (273.333, 296.667]    1
Name: val, dtype: int64
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65210468

复制
相关文章

相似问题

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