首页 > 解决方案 > 在python中创建间隔

问题描述

项目清单

我是编程新手,所以不太了解。

我有一个这样的数据集:-

Type    Value

A        40

A        70     

A        125

A        150

B        50

B        80

B        130

B        150

我想要这种格式:

Type  <60  >60  >90  >120

A      1    3    2    2

B      1    3    2    2

基本上,对值进行计数和分类。

def delay_tag(list_name):
    empty_list = []
    for i in range(0, len(airline)): 
        if list_name[i] < 60:
             empty_list.append('<60') 
        elif (list_name[i] > 60):
            empty_list.append('>60') 
        elif (list_name[i] >= 120):
            empty_list.append('>120')
        else:
             empty_list.append('>= 180')
        return(empty_list)

这是我试过的

标签: pythonpython-3.xcategorical-data

解决方案


import pandas as pd

df = pd.read.csv('your_file.csv')

fun = lambda x:{'<60':x.lt(60).sum(),'>60':x.gt(60).sum(),'>90':x.gt(90).sum(),'>120':x.gt(120).sum()}

pd.DataFrame(df.groupby('Type').Value.apply(fun)).reset_index().pivot('Type','level_1','Value')

Out[76]: 
level_1  <60  >120  >60  >90
Type                        
A          1     2    3    2
B          1     2    3    2

推荐阅读