Python 迭代列的条件以查找其他列值
我试图迭代“出生”列,以找到特定的年龄组来计算这些组的类别项目 我的数据集如下所示Python 迭代列的条件以查找其他列值,python,pandas,Python,Pandas,我试图迭代“出生”列,以找到特定的年龄组来计算这些组的类别项目 我的数据集如下所示 data = pd.DataFrame({'birth': ['1/12/1980', '2/6/1992', '6/6/1975', '6/3/2000'], 'problem':['cat3', 'cat2', 'cat1' , 'cat1']}) birth problem 0 1/12/1980 cat3 1 2/6/1992 cat2 2 6/6/1975 c
data = pd.DataFrame({'birth': ['1/12/1980', '2/6/1992', '6/6/1975',
'6/3/2000'], 'problem':['cat3', 'cat2', 'cat1' , 'cat1']})
birth problem
0 1/12/1980 cat3
1 2/6/1992 cat2
2 6/6/1975 cat1
3 6/3/2000 cat1
.. ...... ....
15488 9/9/2010 cat55
正确的输出可能如下所示:
Young 1990-2019:Cat1:55、cat2:154、cat3:84、cat6:5554
青少年:1990-1975:Cat1:99、cat2:5121、cat3:5445
中年:1975年及以前:cat1:99、cat2:545、cat82:644
删除标点符号,将类型转换为字符串,并尝试以下操作:
for i in range(len(yas2)):
yas3.append(int(yas2[i][-4:]))
然后迭代条件,但我无法对问题列进行积分和计数。首先按转换列,按装箱,最后按组计数:
第一次转换列依据、装箱依据和最后一次获取每组计数依据:
1980年1月12日是1。十二月十二号。1980年1月?1月12日是1。十二月十二号。一月
data = pd.DataFrame({'birth': ['1/12/1980', '2/6/1992', '6/6/1975','6/3/2000'],
'problem':['cat3', 'cat2', 'cat1' , 'cat1']})
data['birth'] = pd.to_datetime(data['birth'], dayfirst=True)
bins = [0, 1975, 1990, 2019]
labels= ['MiddleAged','YoungAdult','Young']
data['bins'] = pd.cut(data['birth'].dt.year, bins=bins, labels=labels)
print (data)
birth problem bins
0 1980-12-01 cat3 YoungAdult
1 1992-06-02 cat2 Young
2 1975-06-06 cat1 MiddleAged
3 2000-03-06 cat1 Young
df = data.groupby(['bins','problem']).size().reset_index(name='count')
print (df)
bins problem count
0 MiddleAged cat1 1
1 YoungAdult cat3 1
2 Young cat1 1
3 Young cat2 1