我是编程新手,所以对此了解不多。
我有一个像这样的数据集:-
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)
这是我尝试过的
答案 0 :(得分:0)
这可能会给您一个想法。
import pandas as pd
df = pd.DataFrame({
'Type':['A','A','A','A','B','B','B','B'],
'Value':[40,70,125,150,50,80,130,150]
})
df_lt60 = df[df['Value']<60]
print df_lt60.groupby('Type').Value.nunique()
df_gt60 = df[df['Value']>=60]
print df_gt60.groupby('Type').Value.nunique()
答案 1 :(得分:0)
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