根据介绍list
返回:
{code1: data1, code2: data2, …}
code:str,代码
data:pd.DataFrame,数据集,index为字符串格式的时间序列,columns为数据字段
这只是其中一组,多组的话我想把113595.sh等作为第一列的内容,起名为:代码,所有列为:代码,open,high,low,close 把所有时间产生的数据open,high,都用分隔放入同一个open,high下,并df.excle
请问可运行的代码谢谢
这只是其中一组,多组的话我想把113595.sh等作为第一列的内容,起名为:代码,所有列为:代码,open,high,low,close 把所有时间产生的数据open,high,都用分隔放入同一个open,high下,并df.excle
请问可运行的代码谢谢
引自免费微信小程序:皆我百晓生
根据您的问题,您想将从Excel文件中读取的多组股票数据整合到一个DataFrame中,并以股票代码作为第一列(命名为“代码”),其他列为"open", "high", "low", "close"。假设您已经通过某种方式(例如pandas库)获取到了类似字典结构的数据:{code1: data1, code2: data2, ...}
,其中每个data是一个包含时间序列索引(字符串格式)和OHLC数据的DataFrame。
下面是一个模拟如何实现这个需求的示例代码:
import pandas as pd
# 假设这是您通过某种方式得到的数据集
# 其中key是股票代码,value是对应的数据DataFrame
stock_data_dict = {
'113595.sh': pd.DataFrame({
'time': ['2023-01-01', '2023-01-02', '2023-01-03'],
'open': [10.0, 12.0, 13.0],
'high': [15.0, 16.0, 17.0],
'low': [8.0, 10.0, 11.0],
'close': [13.0, 14.0, 15.0]
}),
# 这里省略了其他股票代码及其对应的数据...
}
# 将所有数据整合到一个DataFrame中
all_stocks_df = pd.concat([
# 把每一支股票的数据DataFrame进行处理
(stock_df.set_index('time') # 设置时间列为索引
.rename_axis('code') # 将原索引名称改为'code'
.reset_index() # 重新设置索引并把'code'移到列中
.assign(code=code) # 添加'code'列,值为当前循环中的股票代码
[['code'] + stock_df.columns.tolist()]) # 按照['code', 'open', 'high', 'low', 'close']顺序排列列
for code, stock_df in stock_data_dict.items()
])
# 确保列顺序正确
all_stocks_df = all_stocks_df[['code', 'open', 'high', 'low', 'close']]
# 输出结果或保存至Excel文件
all_stocks_df.to_excel('all_stocks_data.xlsx', index=False)
这段代码首先遍历字典stock_data_dict
,对每个股票的数据DataFrame进行处理,将其时间列设为索引,并将股票代码添加为新的列。然后使用pd.concat()
函数将所有处理过的DataFrame横向拼接在一起,最后确保列顺序正确,并将整合后的数据保存至Excel文件。
请注意,此代码基于您提供的信息进行了模拟编写,实际应用时,请根据您的真实数据结构调整。