请编写python代码 pandas表格 交易日期 选股下周期涨跌幅 2009/1/30 [1,2,3,2,4] 2009/2/27 [2,3,4,2] 2009/3/31 [3] 2009/4/30 [2,3,4,2] 2009/5/29 [2,3,4,2] …… 2023/6/30 [2,3,4,2] 计算每个交易日期次月香港的工作日天数,并打印 计算每个list里数字个数,并打印 将二者对比,如果不一致提示不一致
时间: 2024-01-23 21:04:19 浏览: 20
以下是计算每个交易日期次月香港的工作日天数、计算每个list里数字个数,并对比二者的Python代码:
```python
import pandas as pd
from pandas.tseries.offsets import BDay
# 创建DataFrame
data = {'交易日期': ['2009/1/30', '2009/2/27', '2009/3/31', '2009/4/30', '2009/5/29'],
'选股下周期涨跌幅': [[1,2,3,2,4], [2,3,4,2], [3], [2,3,4,2], [2,3,4,2]]}
df = pd.DataFrame(data)
# 转换交易日期为datetime类型
df['交易日期'] = pd.to_datetime(df['交易日期'])
# 计算次月香港的工作日天数
df['次月工作日天数'] = df['交易日期'] + BDay(20)
# 计算每个list里数字个数
df['数字个数'] = df['选股下周期涨跌幅'].apply(lambda x: len(x))
# 对比并提示不一致
df['一致性'] = df['次月工作日天数'].dt.day == df['数字个数']
df.loc[df['一致性'] == False, '提示'] = '不一致'
# 打印结果
print(df)
```
运行以上代码,你将得到一个包含计算结果的DataFrame,其中包括每个交易日期次月香港的工作日天数、每个list里数字个数以及二者的一致性提示。
相关问题
计算5支股票的涨跌幅,在一个表格中,python代码
假设你已经有一个包含这5支股票每日收盘价的表格,你可以按照以下步骤计算涨跌幅并将结果显示在一个新的表格中:
1. 首先,导入 pandas 库并将表格读入为 DataFrame 格式,假设这个 DataFrame 的名称为 `df`:
```python
import pandas as pd
df = pd.read_excel('stocks.xlsx', usecols=[0, 1, 2, 3, 4, 5])
```
这里假设表格的文件名为 "stocks.xlsx",你也可以使用其他文件格式。`usecols` 参数指定了你要读取的列,这里选择了前6列,也就是收盘价所在的列。
2. 对每支股票的收盘价进行计算,得到每日的涨跌幅,可以使用 pandas 的 `pct_change()` 函数,例如:
```python
change = df.pct_change()
```
这个函数将计算每一列中相邻两个元素的百分比变化,也就是涨跌幅。注意,由于第一行没有前一个元素,所以第一行会被设置为 NaN。
3. 将计算出的涨跌幅数据保存到一个新的表格中,例如:
```python
change.to_excel('change.xlsx')
```
这个函数将数据保存到一个名为 "change.xlsx" 的 Excel 文件中。你也可以将文件格式设置为 CSV 或其他格式。
这样,你就可以得到一个包含每支股票每日涨跌幅的表格。
计算5支股票的涨跌幅并绘图,在一个表格中,python代码
假设你已经有一个包含这5支股票每日收盘价的表格,你可以按照以下步骤计算涨跌幅并绘制成图表:
1. 首先,导入 pandas 和 matplotlib 库,并将表格读入为 DataFrame 格式,假设这个 DataFrame 的名称为 `df`:
```python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('stocks.xlsx', usecols=[0, 1, 2, 3, 4, 5])
```
这里假设表格的文件名为 "stocks.xlsx",你也可以使用其他文件格式。`usecols` 参数指定了你要读取的列,这里选择了前6列,也就是收盘价所在的列。
2. 对每支股票的收盘价进行计算,得到每日的涨跌幅,可以使用 pandas 的 `pct_change()` 函数,例如:
```python
change = df.pct_change()
```
这个函数将计算每一列中相邻两个元素的百分比变化,也就是涨跌幅。注意,由于第一行没有前一个元素,所以第一行会被设置为 NaN。
3. 使用 matplotlib 库绘制图表,例如:
```python
change.plot()
plt.show()
```
这个代码将绘制出一个包含每支股票每日涨跌幅的折线图,其中每条折线代表一支股票的涨跌幅。你可以在代码中添加其他绘图参数来美化图表,例如添加标签、标题等。
这样,你就可以得到一个包含每支股票每日涨跌幅的表格,并将其绘制成图表展示出来。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)