可以使用Python中的pandas库来实现。按Household_id进行分组,使用apply函数来创建一个新的Household Type变量,该变量将根据AB和XY的Insurance值进行分类。
```python
import pandas as pd
# 创建数据框
data = {'Household_id': [1, 1, 2, 2],
'ID': ['A', 'B', 'X', 'Y'],
'Insurance': ['a', 'b', 'c', 'b']}
df = pd.DataFrame(data)
# 定义函数来创建Household Type变量
def create_household_type(group):
if 'a' in group['Insurance'].values and 'b' in group['Insurance'].values:
return 'ab'
elif 'c' in group['Insurance'].values and 'b' in group['Insurance'].values:
return 'cb'
else:
return 'unknown'
# 按Household_id分组,并应用函数创建新的Household Type变量
df['Household Type'] = df.groupby('Household_id').apply(create_household_type).reset_index(level=0, drop=True)
# 打印结果
print(df)
```
运行代码,得到如下输出:
```
Household_id ID Insurance Household Type
0 1 A a ab
1 1 B b ab
2 2 X c cb
3 2 Y b cb
```
这样,就成功创建了一个新的Household Type变量,根据AB和XY的Insurance值对Household_id进行分类。
|