用python读取a2.xlsx文件,调用LSR函数,计算各个企业的LSR值,追加LSR储存进a2.xlsx文件。To axis
时间: 2024-03-26 18:36:54 浏览: 163
好的,以下是代码实现:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('a2.xlsx')
# 定义国有企业实际控制人性质代码
state_owned = [1100, 2000, 2100, 2120]
def get_lsr(bmr_index):
"""
根据BMR指数求取LSR(国有企业和非国有企业)
"""
# 根据国有和非国有企业分类,计算LSR并返回结果
if df['实际控制人性质'][0] in state_owned:
lsr = df.apply(lambda row: row['短期负债'] + 0.5 * row['长期负债'], axis=1)
else:
lsr = df.apply(lambda row: row['短期负债'] + 0.4 * row['长期负债'], axis=1)
# 计算LSR的均值
lsr_mean = lsr.mean()
# 计算LSR与BMR指数之间的比值
lsr_bmr_ratio = lsr_mean / bmr_index
return lsr_bmr_ratio
# 计算每个企业的LSR值
lsr_list = []
for i in range(len(df)):
row = df.iloc[i]
bmr_index = row['BMR指数']
lsr_bmr_ratio = get_lsr(bmr_index)
lsr_list.append(lsr_bmr_ratio)
# 将LSR值添加到DataFrame中
df['LSR'] = lsr_list
# 将DataFrame保存到Excel文件中
df.to_excel('a2.xlsx', index=False)
```
以上代码会计算每个企业的LSR值,并将其添加到DataFrame中,最后将结果保存到Excel文件中。需要注意的是,如果Excel文件中已经有名为“LSR”的列,以上代码会将原有的“LSR”列覆盖掉;如果没有,则会添加一个新的“LSR”列。
阅读全文