定义国有企业和非国有企业LSR的求取函数,已知: LSR(国有)=短期负债+0.5*长期负债 LSR(非国有)=短期负债+0.4*长期负债 提示:国有企业强制假定包含以下几种企业(实际控制人性质为:1100,2000,2100,2120);非国有企业强制假定为其他剩余所有类型。同一个企业有多个实际控制人取值时,以第一个数值为准。 实际控制人详细定义参考下表:
时间: 2024-03-07 10:52:14 浏览: 123
您,根据您的要求,我可以提供以下示例代码来定义国有企业和非国有企业的 LSR 求取函数。
``` python
import pandas as pd
# 定义国有企业的实际控制人性质列表
STATE_OWNED_TYPES = ['1100', '2000', '2100', '2120']
# 读取数据
df = pd.read_excel('stockdata.xlsx')
# 只保留第一个实际控制人性质和行业代码
df['实际控制人性质'] = df['实际控制人性质'].astype(str).str.split('|').str[0]
# 定义国有企业和非国有企业的 LSR 求取函数
def get_lsr(row):
if row['实际控制人性质'] in STATE_OWNED_TYPES:
return row['短期负债'] + 0.5 * row['长期负债']
else:
return row['短期负债'] + 0.4 * row['长期负债']
# 对每行数据应用 LSR 求取函数,生成新的 LSR 列
df['LSR'] = df.apply(get_lsr, axis=1)
# 选择需要的变量,生成新的 DataFrame
df_selected = df[['股票代码', '年份', '实际控制人性质', '行业代码', 'LSR']]
# 将 DataFrame 写入到新的 Excel 文件中
df_selected.to_excel('a3.xlsx', index=False)
```
以上代码中,我们先定义了国有企业的实际控制人性质列表,然后读取数据并只保留第一个实际控制人性质和行业代码。接着,我们定义了 get_lsr 函数,根据实际控制人性质的不同来计算 LSR 值。最后,我们对每行数据应用 LSR 求取函数生成新的 LSR 列,选择需要的变量生成新的 DataFrame,并将其写入到新的 Excel 文件中。
需要注意的是,上述代码仅供参考,具体实现还需要根据数据的实际情况进行调整。
阅读全文