python - 如何压缩熊猫数据框,其中行是月份,我试图将它们压缩成年?
问题描述
所以我有一个数据框
https://docs.google.com/spreadsheets/d/19ssG8bvkZKVDR6V5yU9fZVRJbJNfTTEYmWqLwmDwBa0/edit#gid=0
这是我的代码给出的输出。
这是代码:
from yahoofinancials import YahooFinancials
import pandas as pd
import datetime as datetime
df = pd.read_excel('C:/Users/User/Downloads/Div Tickers.xlsx', sheet_name='Sheet1')
tickers_list = df['Ticker'].tolist()
data = pd.DataFrame(columns=tickers_list)
yahoo_financials_ecommerce = YahooFinancials(data)
ecommerce_income_statement_data = yahoo_financials_ecommerce.get_financial_stmts('annual', 'income')
data = ecommerce_income_statement_data['incomeStatementHistory']
df_dict = dict()
for ticker in tickers_list:
df_dict[ticker] = pd.concat([pd.DataFrame(data[ticker][x]) for x in range(len(data[ticker]))],
sort=False, join='outer', axis=1)
df = pd.concat(df_dict, sort=True)
df_l = pd.DataFrame(df.stack())
df_l.reset_index(inplace=True)
df_l.columns = ['ticker', 'financials', 'date', 'value']
df_w = df_l.pivot_table(index=['date.year', 'financials'], columns='ticker', values='value')
export_excel = df_w.to_excel(r'C:/Users/User/Downloads/Income Statement Histories.xlsx', sheet_name="Sheet1", index= True)
我将如何将几个月压缩为几年,以便数据可以与去年同期相比?
解决方案
不确定,因为您没有向我们提供任何数据,但您可以使用以下代码将日期时间列更改为年份。第一位只是生成一些小数据:
from datetime import datetime, timedelta
from random import randint
df = pd.DataFrame({
'dates': [datetime.today() - timedelta(randint(0, 1000)) for _ in range(50)]
})
print(df.head())
dates
0 2019-09-02 21:01:46.702300
1 2019-11-03 21:01:46.702329
2 2019-04-01 21:01:46.702338
3 2019-03-04 21:01:46.702345
4 2019-03-28 21:01:46.702351
重要的部分
df.dates.dt.to_period('Y')
0 2018
1 2018
2 2019
3 2018
4 2019
5 2020
推荐阅读
- python - 错误“无法建立新连接:[Errno 111] 连接被拒绝”订阅服务器在 Python 中发送事件通道 sseclient
- r - 将行名称的一部分从一个数据帧 (A) 匹配到另一个数据帧 (B),然后将与该行相关的 A 列添加到 B
- javascript - 如何在 JS 代码中编写自然数之和公式。我尝试了这段代码,但不明白出了什么问题
- plugins - Minecraft spigot-1.16.5:event.getInventory() 不起作用
- reactjs - 如何在 React/NextJS 中使用 AWS Textract
- powershell - Powershell Register-ScheduledTask 与用户登录或未检查抛出错误
- graphql - graphql 模式中自定义输入类型的默认值
- python - 赠品命令没有响应
- bash - 这个符号在 bash 中是什么意思?
- c# - 如何更改 ONNX 结果 = Object {Microsoft.ML.OnnxRuntime.Tensors.DenseTensor
} 到某事?