1. day2020-11-9.csv中记录了2020年11月9号爬取的上市公司的财务报表(有些项目缺失)。 试根据该表格中的数据,完成以下操作。 1. 选出净利润大于1000万的上市公司名称; 2. 选出营业收入大于10亿的上市公司名称; 3. 净利润/营业总收入>1%的上市公司名称; 4. 选出净利润同比>0的上市公司名称; 5. 找出满足以上四个条件的上市公司名称,即为S; 6. 根据行情数据计算,每个企业披露财报后,五天内股价是否上涨,做成一个excel表格; 提示: 1. 每个上市公司都有一个唯一的6位数字标记,就是上市公司代码。上交所上市的股票以‘6’开头,例如,用友网络的股票代码是600588;深交所上市的股票以0开头,例如,平安银行的代码是000001。深交所上市的股票代码在存储为csv或者excel文件时,前面的0被忽略掉了。例如,平安银行的代码在财务数据中是1,这实际上是错误的。 2. 对于某些股票,如果步骤1-5中涉及到的指标是缺失值,可以忽略掉,不计入统计; 3. 要使用pandas模块;for循环(对所有文件进行遍历),df.pct_change()可以对序列求系列的增长率; 4. 先将数据的单位’万亿’, ”亿“,“万”,等单位转化为数字;
时间: 2024-04-21 15:23:37 浏览: 19
好的,我会根据你提供的条件来完成这些操作。首先,我将加载并处理给定的财务报表数据。
```python
import pandas as pd
# 读取财务报表数据
df = pd.read_csv('day2020-11-9.csv')
# 处理数据单位
df['净利润'] = df['净利润'].apply(lambda x: float(x.strip('万亿亿')))
df['营业收入'] = df['营业收入'].apply(lambda x: float(x.strip('万亿亿')))
# 选出净利润大于1000万的上市公司名称
df_profit = df[df['净利润'] > 1000]['上市公司名称']
# 选出营业收入大于10亿的上市公司名称
df_revenue = df[df['营业收入'] > 10]['上市公司名称']
# 计算净利润/营业总收入
df_profit_ratio = df[df['营业总收入'].notnull()]
df_profit_ratio = df_profit_ratio[df_profit_ratio['营业总收入'] != 0]
df_profit_ratio['净利润/营业总收入'] = df_profit_ratio['净利润'] / df_profit_ratio['营业总收入']
df_profit_ratio = df_profit_ratio[df_profit_ratio['净利润/营业总收入'] > 0.01]['上市公司名称']
# 选出净利润同比>0的上市公司名称
df_profit_growth = df[df['净利润同比'].notnull()]
df_profit_growth = df_profit_growth[df_profit_growth['净利润同比'] > 0]['上市公司名称']
# 找出满足以上四个条件的上市公司名称
S = pd.Series(list(set(df_profit) & set(df_revenue) & set(df_profit_ratio) & set(df_profit_growth)))
# 保存S到Excel表格
S.to_excel('S.xlsx', index=False)
```
接下来,我将根据行情数据计算每个企业披露财报后,五天内股价是否上涨,并将结果保存到另一个Excel表格中。请提供行情数据的格式和文件名,以便我可以继续处理。