全部版块 我的主页
论坛 计量经济学与统计论坛 五区 数据交流中心
1097 1
2023-09-02
我想将各行业、年度上市公司营业收入的赫芬达尔指数HHI 从大到小排列,排名前 50%定义为行业竞争不激烈组(取值为0),排名后50%定义为行业竞争激烈组(取值为1),请问代码怎么写呢?目前赫芬达尔指数已经匹配了自己的数据,想分竞争性企业和非竞争性企业,来分别做回归
二维码

扫码加我 拉你入群

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

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

全部回复
2023-9-2 22:28:13
假设你已经有一个名为`df`的数据框,其中包含了各行业、年度上市公司的营业收入和赫芬达尔指数(HHI)。你可以按照以下步骤来进行排名和分组:

1. 首先,对赫芬达尔指数(HHI)进行降序排列:

```python
df = df.sort_values(by='HHI', ascending=False)
```

2. 然后,计算总行数的一半,用于确定前50%和后50%的分界点:

```python
total_rows = df.shape[0]
half_rows = total_rows // 2
```

3. 根据分界点,为行业竞争不激烈组和行业竞争激烈组创建一个新的列,并赋予相应的值:

```python
df['Competition'] = 0  # 默认为0,表示行业竞争不激烈组
df.loc[df.index[:half_rows], 'Competition'] = 1  # 前50%为行业竞争激烈组,赋值为1
```

4. 最后,你可以根据需要,将数据框拆分为行业竞争不激烈组和行业竞争激烈组的子集:

```python
low_competition = df[df['Competition'] == 0]
high_competition = df[df['Competition'] == 1]
```

现在,你可以使用`low_competition`和`high_competition`进行不同组别的回归分析。请根据你的需求进一步调整代码和数据框的列名。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群