楼主: jialiyani
3138 7

[编程问题求助] 数据是个人的,有家庭编号,怎么给每个个人数据赋家庭人口数呢? [推广有奖]

  • 4关注
  • 14粉丝

已卖:2024份资源

讲师

20%

还不是VIP/贵宾

-

威望
0
论坛币
5826 个
通用积分
15.8626
学术水平
18 点
热心指数
17 点
信用等级
16 点
经验
2921 点
帖子
102
精华
1
在线时间
615 小时
注册时间
2012-10-30
最后登录
2025-11-16

楼主
jialiyani 在职认证  学生认证  发表于 2018-4-22 14:43:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
123123123.PNG
如同第一列是家庭编号,第二列是家庭里的个体。
比如第一行hhcode 302,对应右边是1,就是说这个家庭一个人。
第二行301,右边有1,2,3. 意思是家庭有三个人。
我的问题是,怎么给每个人赋值家庭总人数。 比如person这列的第一个人赋值1,  接下来三个人都赋值3,以此类推
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:个人数据 人口数 Person code 我的问题

沙发
jialiyani 在职认证  学生认证  发表于 2018-4-22 15:28:36
已解决

藤椅
zonghu3200 发表于 2019-11-30 11:27:42
jialiyani 发表于 2018-4-22 15:28
已解决
怎么解决的

板凳
唯意凡 发表于 2020-9-28 17:11:23
请问怎么解决的

报纸
GEMZQ 学生认证  发表于 2022-10-22 17:41:44 来自手机
请问怎么解决的

地板
白眉老夫子 在职认证  发表于 2022-10-24 09:10:41
stata采用merge代码即可,利用1对多匹配。利用excel函数其实也简单,直接用vlookup函数匹配即可。

7
赵安豆 发表于 2025-6-26 09:42:21
要在每个人的记录中添加他们所在家庭的人口数,可以使用数据处理软件或编程语言来实现。这里我将提供两种常见的方法:一种是使用Excel公式,另一种是使用Python的Pandas库。

### 使用Excel公式:

在Excel中,你可以创建一个新的列(例如命名为“Family_Size”),然后使用以下步骤填充它:

1. 假设家庭编号在A列,个人编号在B列。
2. 在C列的第一行输入以下公式:
   ```
   =COUNTIF(A:A, A2)
   ```
   这个公式计算了A列中与当前行的A2单元格值相同的所有行数。这实际上就是家庭的人口数。

3. 将这个公式向下拖动,以应用到整个列表上。

### 使用Python和Pandas:

如果你的数据集较大或你更倾向于使用编程方法,可以使用以下Python代码来实现同样的功能:

```python
import pandas as pd

# 假设你的数据存储在一个CSV文件中,并且列名为'hhcode'和'person'
data = pd.read_csv('your_data.csv')

# 使用groupby计算每个家庭的大小
family_sizes = data.groupby('hhcode').size().reset_index(name='Family_Size')

# 合并回原始数据集
result = data.merge(family_sizes, on='hhcode', how='left')

# 保存结果到新的CSV文件
result.to_csv('output_data.csv', index=False)
```

这段代码首先读取你的CSV文件,然后使用`groupby`和`size()`函数计算每个家庭的人口数。最后将这些信息合并回原始数据集,并保存为一个新的CSV文件。

以上两种方法都可以有效地给每个人员的记录添加他们所在家庭的人口数量。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



8
kirin_guess 发表于 2025-7-6 14:36:09
Method 1:
  1. generate size =.
  2. levelsof hhcode
  3. foreach i of numlist `r(levels)' {
  4.     summarize hhcode if hhcode ==`i'
  5.     replace size =`r(N)' if hhcode ==`i'
  6. }
复制代码
Method 2:
  1. bysort hhcode: egen size3 =count(hhcode)
复制代码
Method 3:
  1. bysort hhcode: egen size =max(person)
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 14:55