下载中国船舶(600150),中船防务(600685),中国重工(601989)三家公司的财务报表,分别计算以下数据,每家公司的数据存放在一个DataFrame中
1.中国船舶2014-2023年的资产负债率(总负债/总资产),净资产收益率(净利润/所有者权益合计),总资产报酬率(净利润/总资产)
2.中船防务2014-2023年的经营活动现金净流量,投资活动现金净流量,筹资活动现金净流量以及现金净流量净增加额
3.中国重工和中船防务2019-2023年的总资产周转率(营业收入/总资产)对比
分析:首先导入pandas库,它是用于数据处理和分析的强大工具。
对于中国船舶的数据,创建了一个字典china_ship_data,其中包含了资产负债率、净资产收益率和总资产报酬率的数据。然后使用这个字典创建了一个DataFrame对象df_china_ship,并指定了索引为 2023 到 2014 年。
对于中船防务的数据,创建了一个字典china_defense_data,包含了经营活动、投资活动、筹资活动产生的现金流量净额和现金及现金等价物净增加额的数据。使用这个字典创建了DataFrame对象df_china_defense,索引同样为 2023 到 2014 年。
对于中国重工和中船防务的总资产周转率数据,创建了一个字典turnover_data,并使用它创建了DataFrame对象df_turnover,索引为 2023 到 2019 年。
最后,分别打印了这三个DataFrame,以展示数据。
import pandas as pd
# 1. 中国船舶2014 - 2023年的财务比率
china_ship_data = {
'资产负债率': [0.704932, 0.689239, 0.668931, 0.653623, 0.524987, 0.544530, 0.713435, 0.678786, 0.621197, 0.621678],
'净资产收益率': [0.056309, - 0.006777, 0.004366, - 0.011023, 0.024515, 0.029323, - 0.169669, float('NaN'), float('NaN'), float('NaN')],
'总资产报酬率': [0.016615, - 0.002106, 0.001446, - 0.003818, 0.011645, 0.013356, - 0.048621, float('NaN'), float('NaN'), float('NaN')]
}
df_china_ship = pd.DataFrame(china_ship_data, index=range(2023, 2013, - 1))
# 2. 中船防务2014 - 2023年的现金流量数据
china_defense_data = {
'经营活动产生的现金流量净额(万元)': [331196.83, 201503.32, 436518.42, - 102440.74, 373555.40, - 154491.01, - 84721.69, - 376107.36, - 105825.21, 85522.44],
'投资活动产生的现金流量净额(万元)': [- 310046.19, 347198.48, - 338194.19, - 347070.50, - 278469.76, - 179236.17, 213137.27, 579294.95, 19291.23, - 16242.59],
'筹资活动产生的现金流量净额(万元)': [- 162320.40, 12185.68, - 126581.56, - 45651.05, 119103.71, 18010.09, 48919.55, - 180673.44, 152722.72, - 20388.36],
'现金及现金等价物净增加额(万元)': [- 136882.52, 565292.37, - 30230.56, - 496412.37, 214667.54, - 309776.68, 154511.14, 6278.98, 89120.99, 51687.21]
}
df_china_defense = pd.DataFrame(china_defense_data, index=range(2023, 2013, - 1))
# 3. 中国重工和中船防务2019 - 2023年的总资产周转率
turnover_data = {
'中国重工': [0.317443, 0.275284, 0.263673, 0.298130, 0.417348],
'中船防务': [0.236371, 0.233751, 0.219493, 0.202464, 0.208356] }
df_turnover = pd.DataFrame(turnover_data, index=range(2023, 2018, - 1))
# 打印数据
print("中国船舶2014 - 2023年财务比率:")
print(df_china_ship)
print("\n中船防务2014 - 2023年现金流量数据:")
print(df_china_defense)
print("\n中国重工和中船防务2019 - 2023年总资产周转率:")
print(df_turnover)